diff --git a/docs/api/qiskit-ibm-runtime/dev/_toc.json b/docs/api/qiskit-ibm-runtime/dev/_toc.json index 95e411db6a8..43b51dd9f22 100644 --- a/docs/api/qiskit-ibm-runtime/dev/_toc.json +++ b/docs/api/qiskit-ibm-runtime/dev/_toc.json @@ -8,6 +8,10 @@ "title": "Overview", "url": "/api/qiskit-ibm-runtime/dev/runtime_service" }, + { + "title": "Batch", + "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Batch" + }, { "title": "EstimatorV1", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.EstimatorV1" diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Batch.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Batch.mdx new file mode 100644 index 00000000000..a7effe81bfe --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Batch.mdx @@ -0,0 +1,199 @@ +--- +title: Batch +description: API reference for qiskit_ibm_runtime.Batch +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.Batch +--- + +# Batch + + + Class for running jobs in batch execution mode. + + Similar to a `session`, a Qiskit Runtime `batch` groups a collection of iterative calls to the quantum computer. Batch mode can shorten processing time if all jobs can be provided at the outset. To submit iterative jobs, use sessions instead. + + **Using batch mode has these benefits:** + + * The jobs’ classical computation, such as compilation, is run in parallel. Thus, running multiple jobs in a batch is significantly faster than running them serially. + * There is minimal delay between job, which can help avoid drift. + + You can open a Qiskit Runtime batch by using this `Batch` class, then submit jobs to one or more primitives. + + For example: + + ```python + from qiskit.circuit import QuantumCircuit, QuantumRegister, ClassicalRegister + from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager + from qiskit_ibm_runtime import Batch, SamplerV2 as Sampler + + service = QiskitRuntimeService() + backend = service.least_busy(operational=True, simulator=False) + + # Bell Circuit + qr = QuantumRegister(2, name="qr") + cr = ClassicalRegister(2, name="cr") + qc = QuantumCircuit(qr, cr, name="bell") + qc.h(qr[0]) + qc.cx(qr[0], qr[1]) + qc.measure(qr, cr) + + pm = generate_preset_pass_manager(backend=backend, optimization_level=1) + isa_circuit = pm.run(qc) + + with Batch(backend=backend) as batch: + sampler = Sampler(batch) + job = sampler.run([isa_circuit]) + pub_result = job.result()[0] + print(f"Sampler job ID: {job.job_id()}") + print(f"Counts: {pub_result.data.cr.get_counts()}") + ``` + + Batch constructor. + + **Parameters** + + * **service** (`Optional`\[[`QiskitRuntimeService`](qiskit_ibm_runtime.QiskitRuntimeService "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")]) – Optional instance of the `QiskitRuntimeService` class. If `None`, the service associated with the backend, if known, is used. Otherwise `QiskitRuntimeService()` is used to initialize your default saved account. + * **backend** (`Union`\[`str`, `BackendV1`, `BackendV2`, `None`]) – Optional instance of `Backend` class or backend string name. + * **max\_time** (`Union`\[`int`, `str`, `None`]) – Maximum amount of time a runtime session can be open before being forcibly closed. Can be specified as seconds (int) or a string like “2h 30m 40s”. This value must be less than the [system imposed maximum](/run/max-execution-time). + + **Raises** + + **ValueError** – If an input value is invalid. + + ## Attributes + + ### service + + + Return service associated with this session. + + **Return type** + + [`QiskitRuntimeService`](qiskit_ibm_runtime.QiskitRuntimeService "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService") + + **Returns** + + [`qiskit_ibm_runtime.QiskitRuntimeService`](qiskit_ibm_runtime.QiskitRuntimeService "qiskit_ibm_runtime.QiskitRuntimeService") associated with this session. + + + ### session\_id + + + Return the session ID. + + **Return type** + + `Optional`\[`str`] + + **Returns** + + Session ID. None if the backend is a simulator. + + + ## Methods + + ### backend + + + Return backend for this session. + + **Return type** + + `Optional`\[`str`] + + **Returns** + + Backend for this session. None if unknown. + + + ### cancel + + + Cancel all pending jobs in a session. + + **Return type** + + `None` + + + ### close + + + 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. + + **Return type** + + `None` + + + ### details + + + Return session details. + + **Returns** + + id: id of the session. backend\_name: backend used for the session. interactive\_timeout: The maximum idle time (in seconds) between jobs that is allowed to occur before the session is deactivated. max\_time: Maximum allowed time (in seconds) for the session, subject to plan limits. active\_timeout: The maximum time (in seconds) a session can stay active. state: State of the session - open, active, inactive, or closed. accepting\_jobs: Whether or not the session is accepting jobs. last\_job\_started: Timestamp of when the last job in the session started. last\_job\_completed: Timestamp of when the last job in the session completed. started\_at: Timestamp of when the session was started. closed\_at: Timestamp of when the session was closed. activated\_at: Timestamp of when the session state was changed to active. + + **Return type** + + A dictionary with the sessions details, including + + + ### from\_id + + + Construct a Session object with a given session\_id + + **Parameters** + + * **session\_id** (`str`) – the id of the session to be created. This must be an already existing session id. + * **service** (`Optional`\[[`QiskitRuntimeService`](qiskit_ibm_runtime.QiskitRuntimeService "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")]) – instance of the `QiskitRuntimeService` class. + * **backend** (`Union`\[`str`, [`IBMBackend`](qiskit_ibm_runtime.IBMBackend "qiskit_ibm_runtime.ibm_backend.IBMBackend"), `None`]) – instance of [`qiskit_ibm_runtime.IBMBackend`](qiskit_ibm_runtime.IBMBackend "qiskit_ibm_runtime.IBMBackend") class or string name of backend. + + **Return type** + + [`Session`](qiskit_ibm_runtime.Session "qiskit_ibm_runtime.session.Session") + + **Returns** + + A new Session with the given `session_id` + + + ### run + + + Run a program in the session. + + **Parameters** + + * **program\_id** (`str`) – Program ID. + * **inputs** (`Dict`) – Program input parameters. These input values are passed to the runtime program. + * **options** (`Optional`\[`Dict`]) – Runtime options that control the execution environment. See [`qiskit_ibm_runtime.RuntimeOptions`](qiskit_ibm_runtime.RuntimeOptions "qiskit_ibm_runtime.RuntimeOptions") for all available options. + * **callback** (`Optional`\[`Callable`]) – Callback function to be invoked for any interim results and final result. + + **Return type** + + `Union`\[[`RuntimeJob`](qiskit_ibm_runtime.RuntimeJob "qiskit_ibm_runtime.runtime_job.RuntimeJob"), [`RuntimeJobV2`](qiskit_ibm_runtime.RuntimeJobV2 "qiskit_ibm_runtime.runtime_job_v2.RuntimeJobV2")] + + **Returns** + + Submitted job. + + + ### status + + + Return current session status. + + **Returns** + + Pending: Session is created but not active. It will become active when the next job of this session is dequeued. In progress, accepting new jobs: session is active and accepting new jobs. In progress, not accepting new jobs: session is active and not accepting new jobs. Closed: max\_time expired or session was explicitly closed. None: status details are not available. + + **Return type** + + The current status of the session, including + + + diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Estimator.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Estimator.mdx index 1fde116f913..79d8d4dcbab 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Estimator.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Estimator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.Estimator # Estimator - + alias of [`EstimatorV1`](qiskit_ibm_runtime.EstimatorV1 "qiskit_ibm_runtime.estimator.EstimatorV1") diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.EstimatorV1.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.EstimatorV1.mdx index 29575eaaa04..6bf70ae5c14 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.EstimatorV1.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.EstimatorV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.EstimatorV1 # EstimatorV1 - + Class for interacting with Qiskit Runtime Estimator primitive service. Qiskit Runtime Estimator primitive service estimates expectation values of quantum circuits and observables. @@ -95,7 +95,7 @@ python_api_name: qiskit_ibm_runtime.EstimatorV1 ### run - + Submit a request to the estimator primitive. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.EstimatorV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.EstimatorV2.mdx index bd545411ac8..29534eb0817 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.EstimatorV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.EstimatorV2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.EstimatorV2 # EstimatorV2 - + Class for interacting with Qiskit Runtime Estimator primitive service. Qiskit Runtime Estimator primitive service estimates expectation values of quantum circuits and observables. @@ -101,7 +101,7 @@ python_api_name: qiskit_ibm_runtime.EstimatorV2 ### run - + Submit a request to the estimator primitive. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeDecoder.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeDecoder.mdx index d0f2e019db1..f159bfa1ec6 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeDecoder.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeDecoder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeDecoder # RuntimeDecoder - + JSON Decoder used by runtime service. `object_hook`, if specified, will be called with the result of every JSON object decoded and its return value will be used in place of the given `dict`. This can be used to provide custom deserializations (e.g. to support JSON-RPC class hinting). @@ -33,7 +33,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeDecoder ### object\_hook - + Called to decode object. **Return type** diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeEncoder.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeEncoder.mdx index 5bb42068a9c..1d534a807bb 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeEncoder.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeEncoder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeEncoder # RuntimeEncoder - + JSON Encoder used by runtime service. Constructor for JSONEncoder, with sensible defaults. @@ -43,7 +43,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeEncoder ### default - + Implement this method in a subclass such that it returns a serializable object for `o`, or calls the base implementation (to raise a `TypeError`). For example, to support arbitrary iterators, you could implement default like this: diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJob.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJob.mdx index b773ed1f0ae..7b7ae790099 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJob.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJob.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob # RuntimeJob - + Representation of a runtime program execution. A new `RuntimeJob` instance is returned when you call [`QiskitRuntimeService.run`](qiskit_ibm_runtime.QiskitRuntimeService#run "qiskit_ibm_runtime.QiskitRuntimeService.run") to execute a runtime program, or [`QiskitRuntimeService.job`](qiskit_ibm_runtime.QiskitRuntimeService#job "qiskit_ibm_runtime.QiskitRuntimeService.job") to retrieve a previously executed job. @@ -50,6 +50,14 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ## Attributes + ### ERROR + + + + ### JOB\_FINAL\_STATES + + + ### creation\_date @@ -156,7 +164,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### backend - + Return the backend where this job was executed. Retrieve data again if backend is None. **Raises** @@ -170,7 +178,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### cancel - + Cancel the job. **Raises** @@ -185,7 +193,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### cancel\_result\_streaming - + Cancel result streaming. **Return type** @@ -215,7 +223,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### error\_message - + Returns the reason if the job failed. **Return type** @@ -229,7 +237,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### errored - + Return whether the job has failed. **Return type** @@ -239,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### in\_final\_state - + Return whether the job is in a final job state such as `DONE` or `ERROR`. **Return type** @@ -249,7 +257,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### interim\_results - + Return the interim results of the job. **Parameters** @@ -281,7 +289,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### logs - + Return job logs. @@ -303,7 +311,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### metrics - + Return job metrics. **Return type** @@ -321,7 +329,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### properties - + Return the backend properties for this job. **Parameters** @@ -339,7 +347,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### queue\_info - + Return queue information for this job. The queue information may include queue position, estimated start and end time, and dynamic priorities for the hub, group, and project. See `QueueInfo` for more information. @@ -359,7 +367,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### queue\_position - + Return the position of the job in the server queue. @@ -381,7 +389,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### result - + Return the results of the job. **Parameters** @@ -416,7 +424,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### status - + Return the status of the job. **Return type** @@ -430,7 +438,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### stream\_results - + Start streaming job results. **Parameters** @@ -455,7 +463,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### submit - + Unsupported method. .. note: ```python @@ -475,7 +483,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### update\_tags - + Update the tags associated with this job. **Parameters** @@ -497,7 +505,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob ### wait\_for\_final\_state - + Use the websocket server to wait for the final the state of a job. The server will remain open if the job is still running and the connection will be terminated once the job completes. Then update and return the status of the job. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJobV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJobV2.mdx index e739c2bed84..f5f92719d3c 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJobV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJobV2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 # RuntimeJobV2 - + Representation of a runtime V2 primitive exeuction. RuntimeJob constructor. @@ -32,6 +32,14 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ## Attributes + ### ERROR + + + + ### JOB\_FINAL\_STATES + + + ### creation\_date @@ -134,7 +142,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### backend - + Return the backend where this job was executed. Retrieve data again if backend is None. **Raises** @@ -148,7 +156,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### cancel - + Cancel the job. **Raises** @@ -163,7 +171,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### cancel\_result\_streaming - + Cancel result streaming. **Return type** @@ -173,7 +181,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### cancelled - + Return whether the job has been cancelled. **Return type** @@ -183,7 +191,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### done - + Return whether the job has successfully run. **Return type** @@ -193,7 +201,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### error\_message - + Returns the reason if the job failed. **Return type** @@ -207,7 +215,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### errored - + Return whether the job has failed. **Return type** @@ -217,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### in\_final\_state - + Return whether the job is in a final job state such as `DONE` or `ERROR`. **Return type** @@ -227,7 +235,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### interim\_results - + Return the interim results of the job. **Parameters** @@ -259,7 +267,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### logs - + Return job logs. @@ -281,7 +289,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### metrics - + Return job metrics. **Return type** @@ -299,7 +307,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### properties - + Return the backend properties for this job. **Parameters** @@ -317,7 +325,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### result - + Return the results of the job. **Parameters** @@ -342,7 +350,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### running - + Return whether the job is actively running. **Return type** @@ -352,7 +360,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### status - + Return the status of the job. **Return type** @@ -366,7 +374,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### stream\_results - + Start streaming job results. **Parameters** @@ -391,7 +399,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### update\_tags - + Update the tags associated with this job. **Parameters** @@ -413,7 +421,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJobV2 ### wait\_for\_final\_state - + Use the websocket server to wait for the final the state of a job. The server will remain open if the job is still running and the connection will be terminated once the job completes. Then update and return the status of the job. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Sampler.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Sampler.mdx index 826672c1472..5af4fa37aa1 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Sampler.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Sampler.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.Sampler # Sampler - + alias of [`SamplerV1`](qiskit_ibm_runtime.SamplerV1 "qiskit_ibm_runtime.sampler.SamplerV1") diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.SamplerV1.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.SamplerV1.mdx index dcd737d7ab5..2596998b8b2 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.SamplerV1.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.SamplerV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.SamplerV1 # SamplerV1 - + Class for interacting with Qiskit Runtime Sampler primitive service. Qiskit Runtime Sampler primitive service calculates quasi-probability distribution of bitstrings from quantum circuits. @@ -87,7 +87,7 @@ python_api_name: qiskit_ibm_runtime.SamplerV1 ### run - + Submit a request to the sampler primitive. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.SamplerV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.SamplerV2.mdx index f13bcd957ad..6700b696ab0 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.SamplerV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.SamplerV2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.SamplerV2 # SamplerV2 - + Class for interacting with Qiskit Runtime Sampler primitive service. This class supports version 2 of the Sampler interface, which uses different input and output formats than version 1. @@ -69,7 +69,7 @@ python_api_name: qiskit_ibm_runtime.SamplerV2 ### run - + Submit a request to the sampler primitive. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlgiers.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlgiers.mdx index ea41c99cef3..232c0e4471b 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlgiers.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlgiers.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmaden.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmaden.mdx index c6c2f840617..9bac3f129a5 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmaden.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmaden.mdx @@ -114,7 +114,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmaden ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmadenV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmadenV2.mdx index e8f88a797a8..7f1eb1c7252 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmadenV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmadenV2.mdx @@ -219,7 +219,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -235,7 +235,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -257,7 +257,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -273,7 +273,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -313,12 +313,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonk.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonk.mdx index 6fc92c231fe..5592fb64ff2 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonk.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonk.mdx @@ -122,7 +122,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonk ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonkV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonkV2.mdx index 11b65e6628c..7da532d08a1 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonkV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonkV2.mdx @@ -213,7 +213,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -229,7 +229,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -251,7 +251,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -267,7 +267,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -307,12 +307,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAthens.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAthens.mdx index 0a3b5676082..0986d787ece 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAthens.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAthens.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthens ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAthensV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAthensV2.mdx index a81cba1f7d8..5ff5e1fcf83 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAthensV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAthensV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAuckland.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAuckland.mdx index 8baa464c9e0..19c08d8ce33 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAuckland.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAuckland.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBelem.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBelem.mdx index ef46532ab08..2f8c7a7d494 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBelem.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBelem.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelem ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBelemV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBelemV2.mdx index 75068b29d2e..e8085b457e6 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBelemV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBelemV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingen.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingen.mdx index 0bdee659da1..0778d44616e 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingen.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingen.mdx @@ -128,7 +128,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingen ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2.mdx index a13c336fe68..f805e51ce3c 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2.mdx @@ -219,7 +219,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -235,7 +235,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -257,7 +257,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -273,7 +273,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -313,12 +313,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBogota.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBogota.mdx index 9ced0d13ca8..e934c77eb98 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBogota.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBogota.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogota ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBogotaV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBogotaV2.mdx index db565800e2b..a865a455035 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBogotaV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBogotaV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrisbane.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrisbane.mdx index f23c3351f66..c17a7ae53a2 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrisbane.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrisbane.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrooklyn.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrooklyn.mdx index 4314c23a740..7de02a7cb80 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrooklyn.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrooklyn.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklyn ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrooklynV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrooklynV2.mdx index 4fcb3c713b6..1c4eb1ace8f 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrooklynV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrooklynV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlington.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlington.mdx index 470eed55251..cffc6b81646 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlington.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlington.mdx @@ -110,7 +110,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlington ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2.mdx index f2f76b6acd5..36db184b691 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2.mdx @@ -215,7 +215,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -231,7 +231,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -253,7 +253,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -269,7 +269,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -309,12 +309,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCairo.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCairo.mdx index 764598d3590..47055c99234 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCairo.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCairo.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairo ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCairoV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCairoV2.mdx index f2972c12db0..83f726906d5 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCairoV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCairoV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridge.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridge.mdx index e7e2d4a65ab..cd41f4d6146 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridge.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridge.mdx @@ -116,7 +116,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridge ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridgeV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridgeV2.mdx index 4c91837f38b..2fc36626928 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridgeV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridgeV2.mdx @@ -221,7 +221,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -237,7 +237,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -259,7 +259,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -275,7 +275,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -315,12 +315,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCasablanca.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCasablanca.mdx index 1084538f29e..786a894232c 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCasablanca.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCasablanca.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablanca ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCasablancaV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCasablancaV2.mdx index 9d96def6983..2a091e82b27 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCasablancaV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCasablancaV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCusco.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCusco.mdx index a8a1823e406..129c6103178 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCusco.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCusco.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssex.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssex.mdx index d71bb655a4e..bae3e250887 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssex.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssex.mdx @@ -112,7 +112,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssex ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssexV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssexV2.mdx index 65a64e2b0c4..f79f8160dfc 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssexV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssexV2.mdx @@ -217,7 +217,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -233,7 +233,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -255,7 +255,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -271,7 +271,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -311,12 +311,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGeneva.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGeneva.mdx index 018dec3f3d6..e0adb7ed8c2 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGeneva.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGeneva.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGuadalupe.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGuadalupe.mdx index 4990b4ce28a..105e939733f 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGuadalupe.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGuadalupe.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupe ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2.mdx index f458333f62b..c6d2db7c468 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeHanoi.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeHanoi.mdx index 0ea0159106d..edbe08e2391 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeHanoi.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeHanoi.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoi ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeHanoiV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeHanoiV2.mdx index 09e3bfc048f..4ab2adf0d05 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeHanoiV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeHanoiV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJakarta.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJakarta.mdx index 8696ddc7483..92356977572 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJakarta.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJakarta.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakarta ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJakartaV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJakartaV2.mdx index 8615bac5111..80a8195cb52 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJakartaV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJakartaV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburg.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburg.mdx index ca0a30a052f..488c60b7b09 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburg.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburg.mdx @@ -114,7 +114,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburg ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2.mdx index d5e43964112..482f59929e0 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2.mdx @@ -219,7 +219,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -235,7 +235,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -257,7 +257,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -273,7 +273,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -313,12 +313,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKawasaki.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKawasaki.mdx index 89ec5e1ec17..4ebbc1b8ad6 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKawasaki.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKawasaki.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKolkata.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKolkata.mdx index f4d5ac9f844..03f520f77c7 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKolkata.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKolkata.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkata ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKolkataV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKolkataV2.mdx index e20a23a315a..b15e3b7267a 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKolkataV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKolkataV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKyiv.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKyiv.mdx index c9efde29e1e..af54fbb17df 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKyiv.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKyiv.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKyoto.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKyoto.mdx index c0d019a1df6..5a327eccaed 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKyoto.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKyoto.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLagos.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLagos.mdx index 2cd1e2af6a8..f4bca2a2914 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLagos.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLagos.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagos ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLagosV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLagosV2.mdx index f8642883871..57636a56581 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLagosV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLagosV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLima.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLima.mdx index b2cf1988d9a..798369272e8 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLima.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLima.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLima ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLimaV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLimaV2.mdx index 8f40bc49b1a..8d6b0451da1 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLimaV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLimaV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondon.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondon.mdx index ad3630af372..f47084aab3a 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondon.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondon.mdx @@ -112,7 +112,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondon ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondonV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondonV2.mdx index 1e60bab33f4..449139d7754 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondonV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondonV2.mdx @@ -217,7 +217,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -233,7 +233,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -255,7 +255,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -271,7 +271,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -311,12 +311,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManhattan.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManhattan.mdx index aca07df3124..5ac90c5a505 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManhattan.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManhattan.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattan ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManhattanV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManhattanV2.mdx index 0d2c7196a25..5bcd44fe79b 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManhattanV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManhattanV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManila.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManila.mdx index 9c1a9bdf895..96b0e22aa83 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManila.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManila.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManila ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManilaV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManilaV2.mdx index 23f1696306c..4724e1ff907 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManilaV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManilaV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMelbourneV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMelbourneV2.mdx index 7c721828185..f1e5a6f3a04 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMelbourneV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMelbourneV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMontreal.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMontreal.mdx index 513e76ca46e..470a6c5af20 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMontreal.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMontreal.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontreal ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMontrealV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMontrealV2.mdx index 65dc28cf08c..9cb1b864ebd 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMontrealV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMontrealV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMumbai.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMumbai.mdx index 75c9d8149f9..4f8939fa905 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMumbai.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMumbai.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbai ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMumbaiV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMumbaiV2.mdx index 22dc28c4225..c79d103881f 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMumbaiV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMumbaiV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeNairobi.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeNairobi.mdx index 0e42a1aa64f..3326024b1aa 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeNairobi.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeNairobi.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobi ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeNairobiV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeNairobiV2.mdx index 27f1421a5ad..ba1d8d9d5c6 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeNairobiV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeNairobiV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOsaka.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOsaka.mdx index 647fba8e1ba..f62e3563dd6 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOsaka.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOsaka.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOslo.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOslo.mdx index 61e88c5078b..112bae56c4e 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOslo.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOslo.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurense.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurense.mdx index 2bff5ced2df..076826d485f 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurense.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurense.mdx @@ -110,7 +110,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurense ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurenseV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurenseV2.mdx index 2f2b77a1222..a267efbfdc2 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurenseV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurenseV2.mdx @@ -215,7 +215,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -231,7 +231,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -253,7 +253,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -269,7 +269,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -309,12 +309,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParis.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParis.mdx index 13350527393..0f61e3f3885 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParis.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParis.mdx @@ -130,7 +130,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParis ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParisV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParisV2.mdx index ef9b0796e9a..5a9216e23c5 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParisV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParisV2.mdx @@ -221,7 +221,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -237,7 +237,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -259,7 +259,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -275,7 +275,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -315,12 +315,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePeekskill.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePeekskill.mdx index 2ba89cb1633..1a63d21604a 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePeekskill.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePeekskill.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePerth.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePerth.mdx index f72988144d7..ad64b05edcc 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePerth.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePerth.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2.mdx index 82b6f0139b7..6f377f84c41 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePrague.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePrague.mdx index af73f9f7cb8..f9dd4ed9f03 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePrague.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePrague.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuebec.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuebec.mdx index d9152666f1d..bb77d937651 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuebec.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuebec.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuito.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuito.mdx index a3a7a972d72..8d1bbf4009a 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuito.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuito.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuito ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuitoV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuitoV2.mdx index eb433a884a6..aedd5fedede 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuitoV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuitoV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRochester.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRochester.mdx index 3c99ceb3325..e766711b464 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRochester.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRochester.mdx @@ -104,7 +104,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochester ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRochesterV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRochesterV2.mdx index 54414836854..03cf350f2b5 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRochesterV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRochesterV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRome.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRome.mdx index 00790912e25..2ad6c6aa135 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRome.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRome.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRome ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRomeV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRomeV2.mdx index 2a99d336f3a..dec4a26814e 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRomeV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRomeV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSantiago.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSantiago.mdx index 6a1ecc3da93..7774fa40b29 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSantiago.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSantiago.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiago ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSantiagoV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSantiagoV2.mdx index 66ac76013cd..dc276eef21c 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSantiagoV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSantiagoV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSherbrooke.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSherbrooke.mdx index c8be6ceb070..0a99d92bf34 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSherbrooke.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSherbrooke.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingapore.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingapore.mdx index cd5127cc50f..d16fe53434f 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingapore.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingapore.mdx @@ -114,7 +114,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingapore ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingaporeV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingaporeV2.mdx index 0f755ffaa27..d0a57dfd8c5 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingaporeV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingaporeV2.mdx @@ -219,7 +219,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -235,7 +235,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -257,7 +257,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -273,7 +273,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -313,12 +313,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSydney.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSydney.mdx index 90ee57355b8..c651da0c7a0 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSydney.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSydney.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydney ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSydneyV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSydneyV2.mdx index 6e6792be13f..09a97f17a7b 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSydneyV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSydneyV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTorino.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTorino.mdx index 29976872077..68bd78fc391 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTorino.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTorino.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeToronto.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeToronto.mdx index 90d912f1802..f5f0e33b56c 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeToronto.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeToronto.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeToronto ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTorontoV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTorontoV2.mdx index 3839135ee21..635f9201882 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTorontoV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTorontoV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeValencia.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeValencia.mdx index 41d44ce13b9..6f7ac6e148c 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeValencia.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeValencia.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValencia ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeValenciaV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeValenciaV2.mdx index 92e471ee68d..510bfd3590b 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeValenciaV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeValenciaV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigo.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigo.mdx index afbd4070728..fb88f6af3a2 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigo.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigo.mdx @@ -110,7 +110,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigo ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigoV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigoV2.mdx index 4c47e2902fa..5988388a5e7 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigoV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigoV2.mdx @@ -215,7 +215,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -231,7 +231,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -253,7 +253,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -269,7 +269,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -309,12 +309,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeWashington.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeWashington.mdx index 21c08af8f63..5272525469a 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeWashington.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeWashington.mdx @@ -118,7 +118,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashington ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeWashingtonV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeWashingtonV2.mdx index 453c327f942..2b7619ea186 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeWashingtonV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeWashingtonV2.mdx @@ -209,7 +209,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -225,7 +225,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -247,7 +247,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -263,7 +263,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -303,12 +303,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktown.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktown.mdx index 8f052f4bcea..05a5ddc14c9 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktown.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktown.mdx @@ -112,7 +112,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktown ### run - + Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktownV2.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktownV2.mdx index 01ba88b0617..dc91f652832 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktownV2.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktownV2.mdx @@ -217,7 +217,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -233,7 +233,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -255,7 +255,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -271,7 +271,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -311,12 +311,12 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 ### run - + 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. + 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 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. + If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicSimulator without noise. Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.EstimatorOptions.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.EstimatorOptions.mdx index 4ab4e507a55..5161ba0ac02 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.EstimatorOptions.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.EstimatorOptions.mdx @@ -122,7 +122,7 @@ python_api_name: qiskit_ibm_runtime.options.EstimatorOptions ### update - + Update the options. **Return type** diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.Options.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.Options.mdx index 9d3e56821e5..b1b9cbee3b1 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.Options.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.Options.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.options.Options # Options - + Options for the primitives, used by V1 primitives. **Parameters** @@ -87,7 +87,7 @@ python_api_name: qiskit_ibm_runtime.options.Options ### validate\_options - + Validate that program inputs (options) are valid :raises ValueError: if optimization\_level is outside the allowed range. :raises ValueError: if max\_execution\_time is outside the allowed range. **Return type** diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.PecOptions.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.PecOptions.mdx index 741316879e3..f8fb25bcbef 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.PecOptions.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.PecOptions.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.options.PecOptions # PecOptions - + Probabalistic error cancellation mitigation options. **Parameters** @@ -19,11 +19,12 @@ python_api_name: qiskit_ibm_runtime.options.PecOptions The amount by which to scale the noise, where: - * A value of one corresponds to attempting to remove all of the noise. - * A value greater than one corresponds to injecting noise. - * A value between 0 and 1 corresponds to partially removing the noise. + * A value of 0 corresponds to removing the full learned noise. + * A value of 1 corresponds to no removal of the learned noise. + * A value between 0 and 1 corresponds to partially removing the learned noise. + * A value greater than one corresponds to amplifying the learned noise. - If “auto”, the value will be chosen automatically based on the input PUBs. Default: “auto”. + If “auto”, the value in the range `[0, 1)` will be chosen automatically for each input PUB based on the learned noise strength, `max_overhead`, and the depth of the PUB. Default: “auto”. ## Attributes diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.SamplerOptions.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.SamplerOptions.mdx index af1e0872549..eb64b391e19 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.SamplerOptions.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.SamplerOptions.mdx @@ -52,7 +52,7 @@ python_api_name: qiskit_ibm_runtime.options.SamplerOptions ### update - + Update the options. **Return type** diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis.mdx index f9a5219dd55..691819658b4 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAna # ALAPScheduleAnalysis - + Dynamic circuits as-late-as-possible (ALAP) scheduling analysis pass. This is a scheduler designed to work for the unique scheduling constraints of the dynamic circuits backends due to the limitations imposed by hardware. This is expected to evolve over time as the dynamic circuit backends also change. @@ -29,7 +29,8 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAna **Parameters** - **durations** (`InstructionDurations`) – Durations of instructions to be used in scheduling. + * **durations** (`InstructionDurations`) – Durations of instructions to be used in scheduling. + * **block\_ordering\_callable** (`Optional`\[`Callable`\[\[`DAGCircuit`], `Generator`\[`DAGOpNode`, `None`, `None`]]]) – A callable used to produce an ordering of the nodes to minimize the number of blocks needed. If not provided, `block_order_op_nodes()` will be used. ## Attributes @@ -102,7 +103,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAna ### run - + Run the ASAPSchedule pass on dag. :type dag: `DAGCircuit` :param dag: DAG to schedule. :type dag: DAGCircuit **Raises** diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAnalysis.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAnalysis.mdx index 019bf6b4b79..5f81a8d6175 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAnalysis.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAnalysis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAna # ASAPScheduleAnalysis - + Dynamic circuits as-soon-as-possible (ASAP) scheduling analysis pass. This is a scheduler designed to work for the unique scheduling constraints of the dynamic circuits backends due to the limitations imposed by hardware. This is expected to evolve over time as the dynamic circuit backends also change. @@ -29,7 +29,8 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAna **Parameters** - **durations** (`InstructionDurations`) – Durations of instructions to be used in scheduling. + * **durations** (`InstructionDurations`) – Durations of instructions to be used in scheduling. + * **block\_ordering\_callable** (`Optional`\[`Callable`\[\[`DAGCircuit`], `Generator`\[`DAGOpNode`, `None`, `None`]]]) – A callable used to produce an ordering of the nodes to minimize the number of blocks needed. If not provided, `block_order_op_nodes()` will be used. ## Attributes @@ -102,7 +103,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAna ### run - + Run the ALAPSchedule pass on dag. :type dag: `DAGCircuit` :param dag: DAG to schedule. :type dag: DAGCircuit **Raises** diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder.mdx index b0235c8bbb4..86a05bfe693 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder # BlockBasePadder - + The base class of padding pass. This pass requires one of scheduling passes to be executed before itself. Since there are multiple scheduling strategies, the selection of scheduling pass is left in the hands of the pass manager designer. Once a scheduling analysis pass is run, `node_start_time` is generated in the `property_set`. This information is represented by a python dictionary of the expected instruction execution times keyed on the node instances. The padding pass expects all `DAGOpNode` in the circuit to be scheduled. @@ -93,7 +93,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder ### run - + Run the padding pass on `dag`. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.mdx index dd7fcfd8964..396aeba80a1 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitI # DynamicCircuitInstructionDurations - + 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. Dynamic circuit instruction durations. @@ -27,7 +27,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitI ### from\_backend - + Construct a `DynamicInstructionDurations` object from the backend. :type backend: `Backend` :param backend: backend from which durations (gate lengths) and dt are extracted. **Returns** @@ -41,7 +41,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitI ### from\_target - + Construct a `DynamicInstructionDurations` object from the target. :type target: `Target` :param target: target from which durations (gate lengths) and dt are extracted. **Returns** @@ -96,7 +96,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitI ### update - + Update self with inst\_durations (inst\_durations overwrite self). Overrides the default durations for certain hardcoded instructions. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay.mdx index 43fe7778fc0..58ec85f72b2 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay # PadDelay - + Padding idle time with Delay instructions. Consecutive delays will be merged in the output of this pass. @@ -34,6 +34,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay * **durations** (`InstructionDurations`) – Durations of instructions to be used in scheduling. * **fill\_very\_end** (`bool`) – Set `True` to fill the end of circuit with delay. * **schedule\_idle\_qubits** (`bool`) – Set to true if you’d like a delay inserted on idle qubits. This is useful for timeline visualizations, but may cause issues for execution on large backends. + * **block\_ordering\_callable** (`Optional`\[`Callable`\[\[`DAGCircuit`], `Generator`\[`DAGOpNode`, `None`, `None`]]]) – A callable used to produce an ordering of the nodes to minimize the number of blocks needed. If not provided, `block_order_op_nodes()` will be used. ## Attributes @@ -106,7 +107,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay ### run - + Run the padding pass on `dag`. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling.mdx index 24ff3a52348..edb5285be60 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDec # PadDynamicalDecoupling - + Dynamical decoupling insertion pass for IBM dynamic circuit backends. This pass works on a scheduled, physical circuit. It scans the circuit for idle periods of time (i.e. those containing delay instructions) and inserts a DD sequence of gates in those spots. These gates amount to the identity, so do not alter the logical action of the circuit, but have the effect of mitigating decoherence in those idle periods. As a special case, the pass allows a length-1 sequence (e.g. \[XGate()]). In this case the DD insertion happens only when the gate inverse can be absorbed into a neighboring gate in the circuit (so we would still be replacing Delay with something that is equivalent to the identity). This can be used, for instance, as a Hahn echo. This pass ensures that the inserted sequence preserves the circuit exactly (including global phase). @@ -165,6 +165,8 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDec * **dd\_barrier** (`Optional`\[`str`]) – only apply DD to delays terminating with a barrier whose label contains the specified string + * **block\_ordering\_callable** (`Optional`\[`Callable`\[\[`DAGCircuit`], `Generator`\[`DAGOpNode`, `None`, `None`]]]) – A callable used to produce an ordering of the nodes to minimize the number of blocks needed. If not provided, `block_order_op_nodes()` will be used. + **Raises** * **TranspilerError** – When invalid DD sequence is specified. @@ -242,7 +244,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDec ### run - + Run the padding pass on `dag`. **Parameters** diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.mdx b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.mdx index aa3f728d754..e9d095c2ab4 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.mdx @@ -371,9 +371,9 @@ qc_dd.draw(output="mpl", style="iqp") | | | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| [`BlockBasePadder`](qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder "qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder")(\[schedule\_idle\_qubits]) | The base class of padding pass. | -| [`ALAPScheduleAnalysis`](qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis "qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis")(durations) | Dynamic circuits as-late-as-possible (ALAP) scheduling analysis pass. | -| [`ASAPScheduleAnalysis`](qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAnalysis "qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAnalysis")(durations) | Dynamic circuits as-soon-as-possible (ASAP) scheduling analysis pass. | +| [`BlockBasePadder`](qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder "qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder")(\[schedule\_idle\_qubits, ...]) | The base class of padding pass. | +| [`ALAPScheduleAnalysis`](qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis "qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis")(durations\[, ...]) | Dynamic circuits as-late-as-possible (ALAP) scheduling analysis pass. | +| [`ASAPScheduleAnalysis`](qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAnalysis "qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAnalysis")(durations\[, ...]) | Dynamic circuits as-soon-as-possible (ASAP) scheduling analysis pass. | | [`DynamicCircuitInstructionDurations`](qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations "qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations")(\[...]) | For dynamic circuits the IBM Qiskit backend currently reports instruction durations that differ compared with those required for the legacy Qobj-based path. | | [`PadDelay`](qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay "qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay")(durations\[, fill\_very\_end, ...]) | Padding idle time with Delay instructions. | | [`PadDynamicalDecoupling`](qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling "qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling")(durations, dd\_sequences) | Dynamical decoupling insertion pass for IBM dynamic circuit backends. | diff --git a/docs/api/qiskit-ibm-runtime/dev/runtime_service.mdx b/docs/api/qiskit-ibm-runtime/dev/runtime_service.mdx index fc5883de13f..323e7cfe157 100644 --- a/docs/api/qiskit-ibm-runtime/dev/runtime_service.mdx +++ b/docs/api/qiskit-ibm-runtime/dev/runtime_service.mdx @@ -163,6 +163,7 @@ logging.getLogger('qiskit_ibm_runtime').setLevel(logging.WARNING) | [`SamplerV1`](qiskit_ibm_runtime.SamplerV1 "qiskit_ibm_runtime.SamplerV1")(\[backend, session, options]) | Class for interacting with Qiskit Runtime Sampler primitive service. | | [`SamplerV2`](qiskit_ibm_runtime.SamplerV2 "qiskit_ibm_runtime.SamplerV2")(\[backend, session, options]) | Class for interacting with Qiskit Runtime Sampler primitive service. | | [`Session`](qiskit_ibm_runtime.Session "qiskit_ibm_runtime.Session")(\[service, backend, max\_time]) | Class for creating a Qiskit Runtime session. | +| [`Batch`](qiskit_ibm_runtime.Batch "qiskit_ibm_runtime.Batch")(\[service, backend, max\_time]) | Class for running jobs in batch execution mode. | | [`IBMBackend`](qiskit_ibm_runtime.IBMBackend "qiskit_ibm_runtime.IBMBackend")(configuration, service, api\_client) | Backend class interfacing with an IBM Quantum backend. | | [`RuntimeJob`](qiskit_ibm_runtime.RuntimeJob "qiskit_ibm_runtime.RuntimeJob")(backend, api\_client, ...\[, ...]) | Representation of a runtime program execution. | | [`RuntimeJobV2`](qiskit_ibm_runtime.RuntimeJobV2 "qiskit_ibm_runtime.RuntimeJobV2")(backend, api\_client, ...\[, ...]) | Representation of a runtime V2 primitive exeuction. | diff --git a/docs/api/qiskit/dev/_toc.json b/docs/api/qiskit/dev/_toc.json index 4c9f8493fe4..20994656085 100644 --- a/docs/api/qiskit/dev/_toc.json +++ b/docs/api/qiskit/dev/_toc.json @@ -26,16 +26,8 @@ "url": "/api/qiskit/dev/circuit" }, { - "title": "AncillaQubit", - "url": "/api/qiskit/dev/qiskit.circuit.AncillaQubit" - }, - { - "title": "AncillaRegister", - "url": "/api/qiskit/dev/qiskit.circuit.AncillaRegister" - }, - { - "title": "Bit", - "url": "/api/qiskit/dev/qiskit.circuit.Bit" + "title": "AnnotatedOperation", + "url": "/api/qiskit/dev/qiskit.circuit.AnnotatedOperation" }, { "title": "BreakLoopOp", @@ -45,14 +37,6 @@ "title": "CircuitInstruction", "url": "/api/qiskit/dev/qiskit.circuit.CircuitInstruction" }, - { - "title": "ClassicalRegister", - "url": "/api/qiskit/dev/qiskit.circuit.ClassicalRegister" - }, - { - "title": "Clbit", - "url": "/api/qiskit/dev/qiskit.circuit.Clbit" - }, { "title": "ContinueLoopOp", "url": "/api/qiskit/dev/qiskit.circuit.ContinueLoopOp" @@ -65,10 +49,6 @@ "title": "ControlledGate", "url": "/api/qiskit/dev/qiskit.circuit.ControlledGate" }, - { - "title": "Delay", - "url": "/api/qiskit/dev/qiskit.circuit.Delay" - }, { "title": "EquivalenceLibrary", "url": "/api/qiskit/dev/qiskit.circuit.EquivalenceLibrary" @@ -121,22 +101,6 @@ "title": "QuantumCircuit", "url": "/api/qiskit/dev/qiskit.circuit.QuantumCircuit" }, - { - "title": "QuantumRegister", - "url": "/api/qiskit/dev/qiskit.circuit.QuantumRegister" - }, - { - "title": "Qubit", - "url": "/api/qiskit/dev/qiskit.circuit.Qubit" - }, - { - "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" @@ -181,10 +145,6 @@ "title": "AND", "url": "/api/qiskit/dev/qiskit.circuit.library.AND" }, - { - "title": "Barrier", - "url": "/api/qiskit/dev/qiskit.circuit.library.Barrier" - }, { "title": "C3SXGate", "url": "/api/qiskit/dev/qiskit.circuit.library.C3SXGate" @@ -429,10 +389,6 @@ "title": "MCXVChain", "url": "/api/qiskit/dev/qiskit.circuit.library.MCXVChain" }, - { - "title": "Measure", - "url": "/api/qiskit/dev/qiskit.circuit.library.Measure" - }, { "title": "MSGate", "url": "/api/qiskit/dev/qiskit.circuit.library.MSGate" @@ -525,10 +481,6 @@ "title": "RealAmplitudes", "url": "/api/qiskit/dev/qiskit.circuit.library.RealAmplitudes" }, - { - "title": "Reset", - "url": "/api/qiskit/dev/qiskit.circuit.library.Reset" - }, { "title": "RGate", "url": "/api/qiskit/dev/qiskit.circuit.library.RGate" @@ -798,10 +750,18 @@ "title": "BackendEstimator", "url": "/api/qiskit/dev/qiskit.primitives.BackendEstimator" }, + { + "title": "BackendEstimatorV2", + "url": "/api/qiskit/dev/qiskit.primitives.BackendEstimatorV2" + }, { "title": "BackendSampler", "url": "/api/qiskit/dev/qiskit.primitives.BackendSampler" }, + { + "title": "BackendSamplerV2", + "url": "/api/qiskit/dev/qiskit.primitives.BackendSamplerV2" + }, { "title": "BaseEstimatorV1", "url": "/api/qiskit/dev/qiskit.primitives.BaseEstimatorV1" @@ -1904,6 +1864,10 @@ "title": "RemoveFinalMeasurements", "url": "/api/qiskit/dev/qiskit.transpiler.passes.RemoveFinalMeasurements" }, + { + "title": "RemoveFinalReset", + "url": "/api/qiskit/dev/qiskit.transpiler.passes.RemoveFinalReset" + }, { "title": "RemoveResetInZeroState", "url": "/api/qiskit/dev/qiskit.transpiler.passes.RemoveResetInZeroState" diff --git a/docs/api/qiskit/dev/assembler.mdx b/docs/api/qiskit/dev/assembler.mdx index aefc410c308..44d4dfde67e 100644 --- a/docs/api/qiskit/dev/assembler.mdx +++ b/docs/api/qiskit/dev/assembler.mdx @@ -22,7 +22,7 @@ python_api_name: qiskit.assembler ### assemble\_circuits - + Assembles a list of circuits into a qobj that can be run on the backend. **Parameters** @@ -65,7 +65,7 @@ python_api_name: qiskit.assembler ### assemble\_schedules - + Assembles a list of schedules into a qobj that can be run on the backend. **Parameters** @@ -129,7 +129,7 @@ python_api_name: qiskit.assembler ### disassemble - + Disassemble a qobj and return the circuits or pulse schedules, run\_config, and user header. diff --git a/docs/api/qiskit/dev/circuit.mdx b/docs/api/qiskit/dev/circuit.mdx index 55c219e5b33..edd6d7011fd 100644 --- a/docs/api/qiskit/dev/circuit.mdx +++ b/docs/api/qiskit/dev/circuit.mdx @@ -10,26 +10,45 @@ python_api_name: qiskit.circuit - + -# Quantum Circuits +# Quantum circuit model `qiskit.circuit` -## Overview +The fundamental element of quantum computing is the *quantum circuit*. This is a computational routine that can be run, one shot at a time, on a quantum processing unit (QPU). A circuit will act on a predefined amount of quantum data (in Qiskit, we only directly support qubits) with unitary operations (gates), measurements and resets. In addition, a quantum circuit can contain operations on classical data, including real-time computations and control-flow constructs, which are executed by the controllers of the QPU. -The fundamental element of quantum computing is the **quantum circuit**. A quantum circuit is a computational routine consisting of coherent quantum operations on quantum data, such as qubits. It is an ordered sequence of quantum gates, measurements and resets, which may be conditioned on real-time classical computation. A set of quantum gates is said to be universal if any unitary transformation of the quantum data can be efficiently approximated arbitrarily well as a sequence of gates in the set. Any quantum program can be represented by a sequence of quantum circuits and classical near-time computation. + + You may wish to skip the introductory material and jump directly to: -In Qiskit, this core element is represented by the [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") class. Below is an example of a quantum circuit that makes a three-qubit GHZ state defined as: + * [the API overview of the whole circuit module](#circuit-module-api) + * [the detailed discussion about how circuits are represented](#circuit-repr) + * the core [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") class for how to build and query circuits + * [information on construction custom instructions](#circuit-custom-gates) + * [ways to work with circuit-level objects](#circuit-working-with) + * [discussion of Qiskit conventions for circuits, matrices and state labelling](#circuit-conventions) + + +Circuits are at a low level of abstraction when building up quantum programs. They are the construct that is used to build up to higher levels of abstraction, such as the [primitives of quantum computation](primitives#qiskit-primitives), which accumulate data from many shots of quantum-circuit execution, along with advanced error-mitigation techniques and measurement optimizations, into well-typed classical data and error statistics. + +In Qiskit, circuits can be defined in one of two regimes: + +* an *abstract* circuit, which is defined in terms of *virtual qubits* and arbitrary high-level operations, like encapsulated algorithms and user-defined gates. +* a *physical* circuit, which is defined in terms of the *hardware qubits* of one particular backend, and contains only operations that this backend natively supports. You might also see this concept referred to as an *ISA circuit*. + +You convert from an abstract circuit to a physical circuit by using [Qiskit’s transpilation package](transpiler#qiskit-transpiler), of which the top-level access point is [`transpile()`](compiler#qiskit.compiler.transpile "qiskit.compiler.transpile"). + +In Qiskit, a quantum circuit is represented by the [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") class. Below is an example of a quantum circuit that makes a three-qubit Greenberger–Horne–Zeilinger (GHZ) state defined as: $$ -|\psi\rangle = \left(|000\rangle+|111\rangle\right)/\sqrt{2} +|\psi\rangle = \left( |000\rangle + |111\rangle \right) / \sqrt{2} $$ ```python from qiskit import QuantumCircuit + # Create a circuit with a register of three qubits circ = QuantumCircuit(3) # H gate on qubit 0, putting this qubit in a superposition of |0> + |1>. @@ -44,72 +63,666 @@ circ.draw('mpl') ![../\_images/circuit-1.png](/images/api/qiskit/dev/circuit-1.png) -## Supplementary Information + -### Quantum Circuit with conditionals +## Circuit concepts and definitions -When building a quantum circuit, there can be interest in applying a certain gate only if a classical register has a specific value. This can be done with the [`InstructionSet.c_if()`](qiskit.circuit.InstructionSet#c_if "qiskit.circuit.InstructionSet.c_if") method. +There is a lot of specialized terminology around quantum circuits. Much of this is common in quantum-computing literature, while some is more specific to quantum software packages, and a small amount specific to Qiskit. This is an alphabetical listing of some of the important concepts as a quick reference, but does not go into detail of the foundational concepts. Consider using the [IBM Quantum Learning platform](https://learning.quantum.ibm.com/) if you want to start from the beginning. -In the following example, we start with a single-qubit circuit formed by only a Hadamard gate ([`HGate`](qiskit.circuit.library.HGate "qiskit.circuit.library.HGate")), in which we expect to get $|0\rangle$ and $|1\rangle$ with equal probability. +**abstract circuit** -```python -from qiskit import transpile, QuantumRegister, ClassicalRegister, QuantumCircuit -qr = QuantumRegister(1) -cr = ClassicalRegister(1) -qc = QuantumCircuit(qr, cr) -qc.h(0) -qc.measure(0, 0) -qc.draw('mpl') -``` +A *circuit* defined in terms of abstract mathematical operations and *virtual qubits*. This is typically how you think about quantum algorithms; an abstract circuit can be made up of completely arbitrary unitary operations, measurements, and potentially *real-time classical computation*, with no restrictions about which qubits can interact with each other. -![../\_images/circuit-2.png](/images/api/qiskit/dev/circuit-2.png) +You turn an abstract circuit into a *physical circuit* by using [Qiskit’s transpilation package](transpiler#qiskit-transpiler). + +**ancilla qubit** + +An extra qubit that is used to help implement operations on other qubits, but whose final state is not important for the program. + +**circuit** + +A computational routine the defines a single execution to be taken on a QPU. This can either be an *abstract circuit* or a *physical circuit*. + +**clbit** + +A Qiskit-specific abbreviation meaning a single classical bit of data. + +**gate** + +A *unitary operation* on one or more qubits. + +**hardware qubit** + +The representation of a single qubit on a particular *QPU*. A hardware qubit has some physical quantum-mechanical system backing it, such as superconducting circuits; unlike a *virtual qubit*, it has particular coupling constraints and only certain gates can be applied to certain groups of hardware qubits. + +Qiskit does not distinguish *logical qubits* from any individual *physical qubits* when talking about hardware qubits. A QPU may implement its hardware qubits as logical qubits, where each hardware qubit comprises many physical qubits that are controlled and error-corrected opaquely to Qiskit by the control electronics. More likely, for near-term applications, a QPU will be directly exposing its physical qubits as the hardware qubits for Qiskit to reason about. + +Both physical and logical qubits will have coupling constraints between them, only permit certain quantum operations on them, and have scheduling concerns between them. Qiskit abstracts these concerns together in the concept of hardware qubits. In the early days of quantum error correction, particular backends may let you access their qubit resources either as high-level logical qubits or as low-level physical qubits through Qiskit. + +**instruction set architecture (ISA)** + +The abstract model of which operations are available on which sets of *hardware qubits* on one particular *QPU*. For example, one QPU may allow $\sqrt X$ and $R_Z$ operations on all single hardware qubits, and $CX$ operations on certain pairs of hardware qubits. + +**logical qubit** + +A collection of several *physical qubits* that are controlled together by a QPU (from the user’s perspective) to apply real-time quantum error correction. A logical qubit is a type of *hardware qubit* for Qiskit. + +**measurement** + +The act of extracting one classical bit of a data from a single qubit state. This is an irreversible operation, and usually destroys entanglement and phase coherence between the target qubit and the rest of the system. + +**physical circuit** + +A *circuit* defined in terms of *hardware qubits* and only the quantum operations available in a particular *QPU’s* *ISA*. Physical circuits are tied to one particular QPU architecture, and will not run on other incompatible architectures. You may also hear this referred to as an *ISA circuit*. + +You typically get a physical circuit by using [Qiskit’s transpilation routines](transpiler#qiskit-transpiler) on an *abstract circuit* that you constructed. + +**physical qubit** + +A controllable two-level quantum system. This is literally one “physics” qubit, such as a transmon or the electronic state of a trapped ion. A QPU may expose this directly as its *hardware qubit*, or combine several physical qubits into a *logical qubit*. + +**quantum processing unit (QPU)** + +Analogous to a CPU in classical computing or a GPU in graphics processing, a QPU is the hardware that runs quantum operations on quantum data. You can always expect a QPU that uses the *circuit* model of computation to be able to perform some set of *gates*, and *measurement* operations. Depending on the particular technology, they also may be able to run some real-time classical computations as well, such as classical control flow and bitwise calculations on classical data. + +**qubit** + +The basic unit of quantum information. + +**real-time classical computation** + +Any classical computation that can happen within the execution of a single shot of a *circuit*, where the results of the classical computation can affect later execution of the circuit. The amount of real-time classical computation available with particular *QPU*s will vary significantly dependent on many factors, such as the controlling electronics and the qubit technology in use. You should consult your hardware vendor’s documentation for more information on this. + +**unitary operation** + +A reversible operation on a quantum state. All quantum *gates* are unitary operations (by definition). + +**virtual qubit** + +An abstract, mathematical *qubit* used to build an *abstract circuit*. Virtual qubits are how one typically thinks about quantum algorithms at a high level; we assume that all quantum gates are valid on all virtual qubits, and all virtual qubits are always connected to every other virtual qubit. + +When mapping to hardware, virtual qubits must be assigned to *hardware qubits*. This mapping need not be one-to-one. Typically, one virtual qubit will need to be swapped from one hardware qubit to another over the course of a circuit execution in order to satisfy coupling constraints of the underlying QPU. It is not strictly necessary for all virtual qubits used in a circuit to be mapped to a physical qubit at any given point in a *physical circuit*; it could be that a virtual qubit is measured (collapsing its state) and then never used again, so a new virtual qubit could take its place. Evaluating these conditions to map a virtual circuit to a physical circuit is the job of [Qiskit’s transpilation package](transpiler#qiskit-transpiler). + + + + + +## API overview of + + + +`qiskit.circuit` + +All objects here are described in more detail, and in their greater context in the following sections. This section provides an overview of the API elements documented here. + +The principal class is [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"), which has its own documentation page, including an in-depth section on building circuits. Quantum data and the simplest classical data are represented by “bits” and “registers”: + +* **[`Bit`](#qiskit.circuit.Bit "qiskit.circuit.Bit"), an atom of data** + + * [`Qubit`](#qiskit.circuit.Qubit "qiskit.circuit.Qubit") + * [`Clbit`](#qiskit.circuit.Clbit "qiskit.circuit.Clbit") + * [`AncillaQubit`](#qiskit.circuit.AncillaQubit "qiskit.circuit.AncillaQubit") + +* **[`Register`](#qiskit.circuit.Register "qiskit.circuit.Register"), a collection of bits** + + * [`QuantumRegister`](#qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister") + * [`ClassicalRegister`](#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") + * [`AncillaRegister`](#qiskit.circuit.AncillaRegister "qiskit.circuit.AncillaRegister") + +Within a circuit, each complete [`CircuitInstruction`](qiskit.circuit.CircuitInstruction "qiskit.circuit.CircuitInstruction") is made up of an [`Operation`](qiskit.circuit.Operation "qiskit.circuit.Operation") (which might be an [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction"), a [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"), or some other subclass) and the qubit and clbit operands. The core base classes here are: + +* [`CircuitInstruction`](qiskit.circuit.CircuitInstruction "qiskit.circuit.CircuitInstruction"), an operation and its operands + +* [`InstructionSet`](qiskit.circuit.InstructionSet "qiskit.circuit.InstructionSet"), a temporary handle to a slice of circuit data + +* **[`Operation`](qiskit.circuit.Operation "qiskit.circuit.Operation"), any abstract mathematical object or hardware instruction** + + * **[`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"), a subclass with applied abstract modifiers** + + * [`InverseModifier`](#qiskit.circuit.InverseModifier "qiskit.circuit.InverseModifier") + * [`ControlModifier`](#qiskit.circuit.ControlModifier "qiskit.circuit.ControlModifier") + * [`PowerModifier`](#qiskit.circuit.PowerModifier "qiskit.circuit.PowerModifier") + +The most common concrete subclass of the minimal, abstract [`Operation`](qiskit.circuit.Operation "qiskit.circuit.Operation") interface is the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction"). While [`Operation`](qiskit.circuit.Operation "qiskit.circuit.Operation") can include abstract mathematical objects, an [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") is something that could conceivably run directly on hardware. This is in turn subclassed by [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") and [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate") that further add unitarity and controlled semantics on top: + +* [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction"), representing a hardware-based instruction +* [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"), representing a hardware instruction that is unitary +* [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate"), representing a gate with control structure. + +Qiskit includes a large library of standard gates and circuits, which is documented in [`qiskit.circuit.library`](circuit_library#module-qiskit.circuit.library "qiskit.circuit.library"). Many of these are declared as Python-object singletons. The machinery for this is described in detail in [`qiskit.circuit.singleton`](circuit_singleton#module-qiskit.circuit.singleton "qiskit.circuit.singleton"), of which the main classes are each a singleton form of the standard instruction–gate hierarchy: + +* [`SingletonInstruction`](circuit_singleton#qiskit.circuit.singleton.SingletonInstruction "qiskit.circuit.singleton.SingletonInstruction") +* [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") +* [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") + +Some instructions are particularly special in that they affect the control flow or data flow of the circuit. The top-level ones are: + +* [`Barrier`](#qiskit.circuit.Barrier "qiskit.circuit.Barrier"), to mark parts of the circuit that should be optimized independently + +* [`Delay`](#qiskit.circuit.Delay "qiskit.circuit.Delay"), to insert a real-time wait period + +* [`Measure`](#qiskit.circuit.Measure "qiskit.circuit.Measure"), to measure a [`Qubit`](#qiskit.circuit.Qubit "qiskit.circuit.Qubit") into a [`Clbit`](#qiskit.circuit.Clbit "qiskit.circuit.Clbit") + +* [`Reset`](#qiskit.circuit.Reset "qiskit.circuit.Reset"), to irreversibly reset a qubit to the $\lvert0\rangle$ state + +* [`Store`](#qiskit.circuit.Store "qiskit.circuit.Store"), to write a real-time classical expression to a storage location + +* **[`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp"), which has specific subclasses:** + + * [`BreakLoopOp`](qiskit.circuit.BreakLoopOp "qiskit.circuit.BreakLoopOp"), to break out of the nearest containing loop + * [`ContinueLoopOp`](qiskit.circuit.ContinueLoopOp "qiskit.circuit.ContinueLoopOp"), to move immediately to the next iteration of the containing loop + * [`ForLoopOp`](qiskit.circuit.ForLoopOp "qiskit.circuit.ForLoopOp"), to loop over a fixed range of values + * [`IfElseOp`](qiskit.circuit.IfElseOp "qiskit.circuit.IfElseOp"), to conditionally enter one of two subcircuits + * [`SwitchCaseOp`](qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp"), to conditionally enter one of many subcicuits + * [`WhileLoopOp`](qiskit.circuit.WhileLoopOp "qiskit.circuit.WhileLoopOp"), to repeat a subcircuit until a condition is falsified. + +[Circuits can include classical expressions that are evaluated in real time](#circuit-repr-real-time-classical), while the QPU is executing a single shot of the circuit. These are primarily documented in the module documentation of [`qiskit.circuit.classical`](circuit_classical#module-qiskit.circuit.classical "qiskit.circuit.classical"). You might be particularly interested in the base classes (which are not exposed from the [`qiskit.circuit`](#module-qiskit.circuit "qiskit.circuit") root): + +* [`Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var"), a typed classical storage location in a circuit +* [`Expr`](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr"), a real-time-evaluated expression +* [`Type`](circuit_classical#qiskit.circuit.classical.types.Type "qiskit.circuit.classical.types.Type"), the classical type of an expression. + +In addition to this real-time expression evaluation, which is limited by classical hardware representations of data, Qiskit has the concept of “compile-time” parametrization, which is done in abstract symbolic algebra. These are typically used to represent gate angles in high-level algorithms that might want to perform numerical derivatives, but they are an older part of Qiskit than the real-time evaluation, so are still used in some places to do general parametrization. The main related classes are: + +* [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter"), the atom of compile-time expressions +* [`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression"), a symbolic calculation on parameters +* [`ParameterVector`](qiskit.circuit.ParameterVector "qiskit.circuit.ParameterVector"), a convenience collection of many [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter")s + +The [`qiskit.circuit`](#module-qiskit.circuit "qiskit.circuit") module also exposes some calculation classes that work with circuits to assist compilation workflows. These include: + +* [`EquivalenceLibrary`](qiskit.circuit.EquivalenceLibrary "qiskit.circuit.EquivalenceLibrary"), a database of decomposition relations between gates and circuits +* [`SessionEquivalenceLibrary`](#qiskit.circuit.SessionEquivalenceLibrary "qiskit.circuit.SessionEquivalenceLibrary"), a mutable instance of [`EquivalenceLibrary`](qiskit.circuit.EquivalenceLibrary "qiskit.circuit.EquivalenceLibrary") which is used by default by the compiler’s [`BasisTranslator`](qiskit.transpiler.passes.BasisTranslator "qiskit.transpiler.passes.BasisTranslator"). + +There is also a utility for generating random circuits: + +* [`random.random_circuit()`](#qiskit.circuit.random.random_circuit "qiskit.circuit.random.random_circuit") + +Finally, the circuit module has its own exception class, to indicate when things went wrong in circuit-specific manners: + +* [`CircuitError`](#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") + + + +## Representation of circuits in Qiskit + +The main user-facing class for representing circuits is [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). This can be either an abstract circuit or a physical circuit. There is much more information about the [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") class itself and the multitude of available methods on it in its class documentation. + +| | | +| ---------------------------------------------------------------------------------------------------------------------- | --------------------- | +| [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")(\*regs\[, name, global\_phase, ...]) | Create a new circuit. | + +Internally, a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") contains the qubits, classical bits, compile-time parameters, real-time variables, and other tracking information about the data it acts on and how it is parametrized. It then contains a sequence of [`CircuitInstruction`](qiskit.circuit.CircuitInstruction "qiskit.circuit.CircuitInstruction")s, which contain the particular operation (gate, measurement, etc) and its operands (the qubits and classical bits). + +### Bits and registers + +Qubits and classical bits are represented by a shared base [`Bit`](#qiskit.circuit.Bit "qiskit.circuit.Bit") type, which is just intended to be a “type tag”; the classes have no behavior other than being immutable objects: + + + Implement a generic bit. + + + This class should not be instantiated directly. This is just a superclass for [`Clbit`](#qiskit.circuit.Clbit "qiskit.circuit.Clbit") and [`Qubit`](#qiskit.circuit.Qubit "qiskit.circuit.Qubit"). + + + Create a new generic bit. + + + + Bases: [`Bit`](#qiskit.circuit.Bit "qiskit.circuit.bit.Bit") + + Implement a quantum bit. + + + + Bases: [`Bit`](#qiskit.circuit.Bit "qiskit.circuit.bit.Bit") + + Implement a classical bit. + + +Qubits and clbits are instantiated by users with no arguments, such as by `Qubit()`. Bits compare equal if they are the same Python object, or if they were both created by a register of the same name and size, and they refer to the same index within that register. There is also a special type tag for “ancilla” qubits, but this is little used in the current state of Qiskit: + + + Bases: [`Qubit`](#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") + + A qubit used as ancillary qubit. + + +A collection bits of the same type can be encapsulated in a register of the matching type. The base functionality is in a base class that is not directly instantiated: + + + Implement a generic register. + + + This class should not be instantiated directly. This is just a superclass for [`ClassicalRegister`](#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") and [`QuantumRegister`](#qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister"). + + + Create a new generic register. + + Either the `size` or the `bits` argument must be provided. If `size` is not None, the register will be pre-populated with bits of the correct type. + + **Parameters** + + * **size** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – Optional. The number of bits to include in the register. + * **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – Optional. The name of the register. If not provided, a unique name will be auto-generated from the register type. + * **bits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Bit*](#qiskit.circuit.Bit "qiskit.circuit.Bit")*]*) – Optional. A list of Bit() instances to be used to populate the register. + + **Raises** + + * [**CircuitError**](#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if both the `size` and `bits` arguments are provided, or if neither are. + * [**CircuitError**](#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `size` is not valid. + * [**CircuitError**](#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `name` is not a valid name according to the OpenQASM spec. + * [**CircuitError**](#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `bits` contained duplicated bits. + * [**CircuitError**](#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `bits` contained bits of an incorrect type. + + ### index + + + Find the index of the provided bit within this register. + + + + Get the register name. + + + + Get the register size. + + + +Each of the defined bit subtypes has an associated register, which have the same constructor signatures, methods and properties as the base class: + + + Bases: [`Register`](#qiskit.circuit.Register "qiskit.circuit.register.Register") + + Implement a quantum register. + + + + Bases: [`Register`](#qiskit.circuit.Register "qiskit.circuit.register.Register") + + Implement a classical register. + + + + Bases: [`QuantumRegister`](#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") + + Implement an ancilla register. + + +A common way to instantiate several bits at once is to create a register, such as by `QuantumRegister("my_qreg", 5)`. This has the advantage that you can give that collection of bits a name, which will appear during circuit visualizations ([`QuantumCircuit.draw()`](qiskit.circuit.QuantumCircuit#draw "qiskit.circuit.QuantumCircuit.draw")) and exports to interchange languages (see [`qasm2`](qasm2#module-qiskit.qasm2 "qiskit.qasm2") and [`qasm3`](qasm3#module-qiskit.qasm3 "qiskit.qasm3")). You can also pass a name and a list of pre-constructed bits, but this creates an “aliasing register”, which are very poorly supported on hardware. + +Circuits track registers, but registers themselves impart almost no behavioral differences on circuits. The only exception is that [`ClassicalRegister`](#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister")s can be implicitly cast to unsigned integers for use in conditional comparisons of [control flow operations](#circuit-control-flow). + +Classical registers and bits were the original way of representing classical data in Qiskit, and remain the most supported currently. Longer term, the data model is moving towards a more complete and strongly typed representation of a range of classical data (see [Real-time classical computation](#circuit-repr-real-time-classical)), but you will still very commonly use classical bits in current Qiskit. + +### Instruction contexts + +The scalar type of the [`QuantumCircuit.data`](qiskit.circuit.QuantumCircuit#data "qiskit.circuit.QuantumCircuit.data") sequence is the “instruction context” object, [`CircuitInstruction`](qiskit.circuit.CircuitInstruction "qiskit.circuit.CircuitInstruction"). This is essentially just a data class that contains a representation of what is to be done (its [`operation`](qiskit.circuit.CircuitInstruction#operation "qiskit.circuit.CircuitInstruction.operation")), and the data it acts on (the [`qubits`](qiskit.circuit.CircuitInstruction#qubits "qiskit.circuit.CircuitInstruction.qubits") and [`clbits`](qiskit.circuit.CircuitInstruction#clbits "qiskit.circuit.CircuitInstruction.clbits")). + +| | | +| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [`CircuitInstruction`](qiskit.circuit.CircuitInstruction "qiskit.circuit.CircuitInstruction") | A single instruction in a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"), comprised of the `operation` and various operands. | + +Programmatically, this class is actually implemented in Rust and is a constructed handle to internal data within Rust space. Mutations to instances of this class will not be reflected in the circuit. In general, you cannot mutate instruction contexts that are already in the circuit directly; the [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") interface is designed for storing and building circuits, while the [transpiler and its passes](transpiler#qiskit-transpiler), and its intermediate [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") representation, are where you should look for an interface to mutate circuits. + +The [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") methods that add instructions to circuits (such as [`append()`](qiskit.circuit.QuantumCircuit#append "qiskit.circuit.QuantumCircuit.append"), and all the helper standard-gate methods) return an [`InstructionSet`](qiskit.circuit.InstructionSet "qiskit.circuit.InstructionSet"), which is a handle to several [`CircuitInstruction`](qiskit.circuit.CircuitInstruction "qiskit.circuit.CircuitInstruction")s simultaneously. + +| | | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | +| [`InstructionSet`](qiskit.circuit.InstructionSet "qiskit.circuit.InstructionSet")(\*\[, resource\_requester]) | Instruction collection, and their contexts. | + +This [`InstructionSet`](qiskit.circuit.InstructionSet "qiskit.circuit.InstructionSet") is now little used in Qiskit. It provides a very minimal set of methods to perform post-append mutations on instructions (which *will* be propagated to the circuit), but these are now discouraged and you should use the alternatives noted in those methods. + +### Operations, instructions and gates + +Within a [`CircuitInstruction`](qiskit.circuit.CircuitInstruction "qiskit.circuit.CircuitInstruction"), the minimal interface that any operation must fulfill is [`Operation`](qiskit.circuit.Operation "qiskit.circuit.Operation"). This is a *very* high level view, and only usable for abstract circuits. The main purpose of treating operations as [`Operation`](qiskit.circuit.Operation "qiskit.circuit.Operation") is to allow arbitrary mathematical objects (such as [`quantum_info.Operator`](qiskit.quantum_info.Operator "qiskit.quantum_info.Operator")) to be added to abstract circuits directly. + +| | | +| -------------------------------------------------------------------- | ---------------------------- | +| [`Operation`](qiskit.circuit.Operation "qiskit.circuit.Operation")() | Quantum operation interface. | + +Most operations, including all operations on physical circuits, are instances of the more concretely defined [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction"). This represents any instruction that some QPU might be able to carry out natively, such as [`Measure`](#qiskit.circuit.Measure "qiskit.circuit.Measure"). [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") need not be unitary (much as [`Measure`](#qiskit.circuit.Measure "qiskit.circuit.Measure") isn’t); an instruction is specifically unitary if it is a [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). + +| | | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------- | +| [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction")(name, num\_qubits, num\_clbits, params) | Generic quantum instruction. | + +[`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction")s can be near arbitrary, provided they only act on [`Qubit`](#qiskit.circuit.Qubit "qiskit.circuit.Qubit")s and [`Clbit`](#qiskit.circuit.Clbit "qiskit.circuit.Clbit")s, and are parametrized by their [`params`](qiskit.circuit.Instruction#params "qiskit.circuit.Instruction.params"); they should not attempt to “close over” outer circuit registers, or use hidden parameters inside themselves. [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction")s can be related to other circuits to provide a decompositions by using their [`Instruction.definition`](qiskit.circuit.Instruction#definition "qiskit.circuit.Instruction.definition") attribute, which provides a local, one-off decomposition. This can be in whatever basis set of operations is most convenient to you, as long as the definitions of all contained gates have some topological order; that is, you cannot use a gate in a definition it its own definition depends on the parent. If the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") should be considered entirely opaque to optimizers, its [`definition`](qiskit.circuit.Instruction#definition "qiskit.circuit.Instruction.definition") can be `None`. See [Creating custom instructions](#circuit-custom-gates) for more detail. + +The [`params`](qiskit.circuit.Instruction#params "qiskit.circuit.Instruction.params") of an instruction can technically be arbitrary, but in general you should attempt to stick to parametrizations in terms of real numbers, wherever possible. Qiskit itself breaks this rule in many places, and you will find all sorts of unusual types in [`Instruction.params`](qiskit.circuit.Instruction#params "qiskit.circuit.Instruction.params") fields, but these are an annoying source of bugs because they often imply the need for type-aware special casing. If your instruction is parametrized in terms of angles, you will be able to reliably use [compile-time parametrization in it](#circuit-compile-time-parameters), and it will integrate well with [`QuantumCircuit.assign_parameters()`](qiskit.circuit.QuantumCircuit#assign_parameters "qiskit.circuit.QuantumCircuit.assign_parameters"). + +While [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") is not necessarily unitary, its subclass [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") implies unitarity, and adds [`to_matrix()`](qiskit.circuit.Gate#to_matrix "qiskit.circuit.Gate.to_matrix") and [`control()`](qiskit.circuit.Gate#control "qiskit.circuit.Gate.control") methods to all the methods inherited from [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction"). + +| | | +| --------------------------------------------------------------------------------------------- | ------------- | +| [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate")(name, num\_qubits, params\[, label, ...]) | Unitary gate. | + +[`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") inherits all the methods for [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") and all the same considerations about its [`params`](qiskit.circuit.Instruction#params "qiskit.circuit.Instruction.params") and [`definition`](qiskit.circuit.Instruction#definition "qiskit.circuit.Instruction.definition") field, except of course that [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate")s cannot act on any classical resources. + +[`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") instances can (and should) have a base [`definition`](qiskit.circuit.Instruction#definition "qiskit.circuit.Instruction.definition"), but you can also specify several different decompositions in different bases by using an [`EquivalenceLibrary`](qiskit.circuit.EquivalenceLibrary "qiskit.circuit.EquivalenceLibrary"). + +Subclassing [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"), Qiskit has a special [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate") class as well. This class is the base of many standard-library gates that are controlled (such as `CXGate`), which is where you are most likely to encounter it: + +| | | +| -------------------------------------------------------------------------------------------------------------------- | ------------------------ | +| [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate")(name, num\_qubits, params\[, ...]) | Controlled unitary gate. | + +Each of [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction"), [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") and [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate") has a corresponding singleton type, built using the machinery described in [`qiskit.circuit.singleton`](circuit_singleton#module-qiskit.circuit.singleton "qiskit.circuit.singleton"). The module-level documentation contains full details, along with descriptions of [`SingletonInstruction`](circuit_singleton#qiskit.circuit.singleton.SingletonInstruction "qiskit.circuit.singleton.SingletonInstruction"), [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") and [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate"). From a user’s perspective, little changes based on whether the base class is a singleton or not; the intention always remains that you should call [`to_mutable()`](qiskit.circuit.Instruction#to_mutable "qiskit.circuit.Instruction.to_mutable") first if you need to get a safe-to-mutate owned copy of an instruction (you cannot assume that an arbitrary instruction is mutable), and while direct [`type`](https://docs.python.org/3/library/functions.html#type "(in Python v3.12)") inspection is discouraged, if you do need it, the reliable way to find the “base” type of a potentially singleton instruction is to use [`base_class`](qiskit.circuit.Instruction#base_class "qiskit.circuit.Instruction.base_class"). + +[`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate") uses the same mechanisms as [subclassing gates](#circuit-custom-gates) to define a fixed, lazy synthesis for itself. This is naturally not hardware-aware, and harder to hook into the synthesis routines of the compiler, but works better as a concrete [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") that could potentially be run natively on hardware. For cases where synthesis and abstract optimization is more important, Qiskit offers a composable class called [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"), which tracks “gate modifiers” (of which [`ControlModifier`](#qiskit.circuit.ControlModifier "qiskit.circuit.ControlModifier") is one) to apply to the inner [`base_op`](qiskit.circuit.AnnotatedOperation#base_op "qiskit.circuit.AnnotatedOperation.base_op"). + +| | | +| ------------------------------------------------------------------------------------------------------------------ | -------------------- | +| [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation")(base\_op, modifiers) | Annotated operation. | + +The available modifiers for [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") are: + + + Inverse modifier: specifies that the operation is inverted. + + + + Control modifier: specifies that the operation is controlled by `num_ctrl_qubits` and has control state `ctrl_state`. + + + + Power modifier: specifies that the operation is raised to the power `power`. + + +For information on how to create custom gates and instructions, including how to build one-off objects, and re-usable parametric gates via subclassing, see [Creating custom instructions](#circuit-custom-gates) below. The Qiskit circuit library in [`qiskit.circuit.library`](circuit_library#module-qiskit.circuit.library "qiskit.circuit.library") contains many predefined gates and circuits for you to use. + +### Built-in special instructions + +Qiskit contains a few [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") classes that are in some ways “special”. These typically have special handling in circuit code, in the transpiler, or the models of hardware. These are all generally instructions you might already be familiar with. + +Measurements in Qiskit are of a single [`Qubit`](#qiskit.circuit.Qubit "qiskit.circuit.Qubit") into a single [`Clbit`](#qiskit.circuit.Clbit "qiskit.circuit.Clbit"). These are the two that the instruction is applied to. Measurements are in the computational basis. + + + Bases: [`SingletonInstruction`](circuit_singleton#qiskit.circuit.singleton.SingletonInstruction "qiskit.circuit.singleton.SingletonInstruction") + + Quantum measurement in the computational basis. + + **Parameters** + + **label** – optional string label for this instruction. + + +Related to measurements, there is a [`Reset`](#qiskit.circuit.Reset "qiskit.circuit.Reset") operation, which produces no classical data but instructs hardware to return the qubit to the $\lvert0\rangle$ state. This is assumed to happen incoherently and to collapse any entanglement. + + + Bases: [`SingletonInstruction`](circuit_singleton#qiskit.circuit.singleton.SingletonInstruction "qiskit.circuit.singleton.SingletonInstruction") + + Incoherently reset a qubit to the $\lvert0\rangle$ state. + + **Parameters** + + **label** – optional string label of this instruction. + + +Hardware can be instructed to apply a real-time idle period on a given qubit. A scheduled circuit (see [`qiskit.transpiler`](transpiler#module-qiskit.transpiler "qiskit.transpiler")) will include all the idle times on qubits explicitly in terms of this [`Delay`](#qiskit.circuit.Delay "qiskit.circuit.Delay"). + + + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") + + Do nothing and just delay/wait/idle for a specified duration. + + **Parameters** + + * **duration** – the length of time of the duration. Given in units of `unit`. + * **unit** – the unit of the duration. Must be `"dt"` or an SI-prefixed seconds unit. + + +The [`Barrier`](#qiskit.circuit.Barrier "qiskit.circuit.Barrier") instruction can span an arbitrary number of qubits and clbits, and is a no-op in hardware. During transpilation and optimization, however, it blocks any optimizations from “crossing” the barrier; that is, in: ```python -from qiskit.providers.basic_provider import BasicSimulator -backend = BasicSimulator() -tqc = transpile(qc, backend) -counts = backend.run(tqc).result().get_counts() +from qiskit.circuit import QuantumCircuit -print(counts) +qc = QuantumCircuit(1) +qc.x(0) +qc.barrier() +qc.x(0) ``` +it is forbidden for the optimizer to cancel out the two $X$ instructions. + + + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") + + A directive for circuit compilation to separate pieces of a circuit so that any optimizations or re-writes are constrained to only act between barriers. + + This will also appear in visualizations as a visual marker. + + **Parameters** + + * **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – the number of qubits for the barrier. + * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – the optional label of this barrier. + + +The [`Store`](#qiskit.circuit.Store "qiskit.circuit.Store") instruction is particularly special, in that it allows writing the result of a [real-time classical computation expression](#circuit-repr-real-time-classical) (an [`expr.Expr`](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr")) in a local classical variable (a [`expr.Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var")). It takes *neither* [`Qubit`](#qiskit.circuit.Qubit "qiskit.circuit.Qubit") nor [`Clbit`](#qiskit.circuit.Clbit "qiskit.circuit.Clbit") operands, but has an explicit [`lvalue`](#qiskit.circuit.Store.lvalue "qiskit.circuit.Store.lvalue") and [`rvalue`](#qiskit.circuit.Store.rvalue "qiskit.circuit.Store.rvalue"). + + + 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`](#qiskit.circuit.Measure "qiskit.circuit.Measure") is a primitive for quantum measurement), and is not safe for subclassing. + + **Parameters** + + * **lvalue** ([*expr.Expr*](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr")) – the memory location being stored into. + * **rvalue** ([*expr.Expr*](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr")) – the expression result being stored. + + + Get the l-value [`Expr`](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr") node that is being stored to. + + + + 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. + + + + + +### Real-time classical computation + + + The primary documentation for real-time classical computation is in the module-level documentation of [`qiskit.circuit.classical`](circuit_classical#module-qiskit.circuit.classical "qiskit.circuit.classical"). + + You might also want to read about the circuit methods for working with real-time variables on the [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") class page. + + +Qiskit has rudimentary low-level support for representing real-time classical computations, which happen during the QPU execution and affect the results. We are still relatively early into hardware support for these concepts as well, so beware that you will need to work closely with your hardware provider’s documentation to get the best use out of any real-time classical computation. + +These real-time calculations are represented by the expression and type system in [`qiskit.circuit.classical`](circuit_classical#module-qiskit.circuit.classical "qiskit.circuit.classical"). At a high level, all real-time expressions are represented by an [`Expr`](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr") node, which is part of an expression “tree” representation, which has a well-defined `Type` associated with it at every level. See the module-level documentation for much more detail on the internal representations of these classes. + +The result of a real-time [`Expr`](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr") can be used directly in certain places. Currently this is limited to conditions of [`IfElseOp`](qiskit.circuit.IfElseOp "qiskit.circuit.IfElseOp") and [`WhileLoopOp`](qiskit.circuit.WhileLoopOp "qiskit.circuit.WhileLoopOp"), and the target of [`SwitchCaseOp`](qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp"). The result can also be stored in a typed classical storage location, using the [`Store`](#qiskit.circuit.Store "qiskit.circuit.Store") instruction (or its [`QuantumCircuit.store()`](qiskit.circuit.QuantumCircuit#store "qiskit.circuit.QuantumCircuit.store") constructor), backed by a [`expr.Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") node. + +A circuit can contain manual classical storage locations, represented internally by the [`Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") node of the [`Expr`](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr") tree. These have an attached classical type (like any other expression). These can either be declared and initialized within each execution of the circuit ([`add_var()`](qiskit.circuit.QuantumCircuit#add_var "qiskit.circuit.QuantumCircuit.add_var")), or be inputs to the circuit ([`add_input()`](qiskit.circuit.QuantumCircuit#add_input "qiskit.circuit.QuantumCircuit.add_input")). + + + +### Compile-time parametrization + +Various parametric [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") instances in Qiskit can be parametrized in ways that are designed to be resolved at compile time. These are characterized by the use of the [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter") and [`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression") classes. + +| | | +| ------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter")(name, \*\[, uuid]) | A compile-time symbolic parameter. | +| [`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")(symbol\_map, expr) | ParameterExpression class to enable creating expressions of Parameters. | + +The main way that this differs from the `expr.Var` variables used in real-time classical computation is that [`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression") is a symbolic representation of a mathematical expression. The semantics of the expression are those of regular mathematics over the continuous real numbers (and, in limited cases, over the complex numbers). In contrast, [`Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") is a handle to a variable stored on a classical computer, such as a floating-point value or an fixed-width integer, which are always discrete. + +In other words, you can expect [`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression") to do symbolic simplifications that are valid in mathematics, such as simplifying $(x + y - x) / y \to 1$. Such a simplification is not valid in floating-point arithmetic, and [`expr.Expr`](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr") will not do this. + +The “compile-time” part of these parameters means that you typically will want to “assign” values to the parameters before sending the circuit for execution. These parameters can typically be used anywhere that expects a mathematical angle (like a rotation gate’s parameters), with the caveat that hardware will usually require them to be assigned to a proper classically typed value before execution. You can do this assignment using [`QuantumCircuit.assign_parameters()`](qiskit.circuit.QuantumCircuit#assign_parameters "qiskit.circuit.QuantumCircuit.assign_parameters"). + +You may want to use many parameters that are related to each other. To make this easier (and to avoid you needing to come up with many names), you can use the convenience constructor [`ParameterVector`](qiskit.circuit.ParameterVector "qiskit.circuit.ParameterVector"). The elements of the vector are all valid [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter") instances. + +| | | +| ----------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | +| [`ParameterVector`](qiskit.circuit.ParameterVector "qiskit.circuit.ParameterVector")(name\[, length]) | ParameterVector class to quickly generate lists of parameters. | + + + +### Control flow in circuits + +Within [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"), classical control flow is represented by specific [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction")s, which are subclasses of [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp"). + +| | | +| -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | +| [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp")(\*args, \*\*kwargs) | Abstract class to encapsulate all control flow operations. | + +These control-flow operations ([`IfElseOp`](qiskit.circuit.IfElseOp "qiskit.circuit.IfElseOp"), [`WhileLoopOp`](qiskit.circuit.WhileLoopOp "qiskit.circuit.WhileLoopOp"), [`SwitchCaseOp`](qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp") and [`ForLoopOp`](qiskit.circuit.ForLoopOp "qiskit.circuit.ForLoopOp")) all have specific state that defines the branching conditions and strategies, but contain all the different subcircuit blocks that might be entered in their [`blocks`](qiskit.circuit.ControlFlowOp#blocks "qiskit.circuit.ControlFlowOp.blocks") property. + +| | | +| ----------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [`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. | +| [`SwitchCaseOp`](qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp")(target, cases, \*\[, label]) | A circuit operation that executes one particular circuit block based on matching a given `target` against an ordered list of `values`. | +| [`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`. | + +The [`SwitchCaseOp`](qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp") also understands a special value: + +**qiskit.circuit.CASE\_DEFAULT *= \*** + +A special object that represents the “default” case of a switch statement. If you use this as a case target, it must be the last case, and will match anything that wasn’t already matched. When using the builder interface of [`QuantumCircuit.switch()`](qiskit.circuit.QuantumCircuit#switch "qiskit.circuit.QuantumCircuit.switch"), this can also be accessed as the `DEFAULT` attribute of the bound case-builder object. + +In addition to the block-structure control-flow operations, there are also two special instructions that affect the flow of control when within loops. These correspond to typical uses of the `break` and `continue` statements in classical programming languages. + +| | | +| --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| [`BreakLoopOp`](qiskit.circuit.BreakLoopOp "qiskit.circuit.BreakLoopOp")(num\_qubits, num\_clbits\[, label]) | A circuit operation which, when encountered, jumps to the end of the nearest enclosing loop. | +| [`ContinueLoopOp`](qiskit.circuit.ContinueLoopOp "qiskit.circuit.ContinueLoopOp")(num\_qubits, num\_clbits\[, label]) | A circuit operation which, when encountered, moves to the next iteration of the nearest enclosing loop. | + + + The classes representations are documented here, but please note that manually constructing these classes is a low-level operation that we do not expect users to need to do frequently. + + +Since [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp") subclasses are also [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") subclasses, this means that the way they are stored in [`CircuitInstruction`](qiskit.circuit.CircuitInstruction "qiskit.circuit.CircuitInstruction") instances has them “applied” to a sequence of qubits and clbits in its [`qubits`](qiskit.circuit.CircuitInstruction#qubits "qiskit.circuit.CircuitInstruction.qubits") and [`clbits`](qiskit.circuit.CircuitInstruction#clbits "qiskit.circuit.CircuitInstruction.clbits") attributes. This can lead to subtle data-coherence problems: the [`Qubit`](#qiskit.circuit.Qubit "qiskit.circuit.Qubit") and [`Clbit`](#qiskit.circuit.Clbit "qiskit.circuit.Clbit") objects used inside the subcircuit blocks of the control-flow ops will not necessarily be identical to the corresponding objects in the [`CircuitInstruction`](qiskit.circuit.CircuitInstruction "qiskit.circuit.CircuitInstruction"). Any code that consumes control-flow operations in Qiskit needs to be aware of this; within a subcircuit, you should treat `subcircuit.qubits[i]` as if it were really `outer_instruction.qubits[i]`, and so on. You can generate an easy lookup table for this by doing: + ```python -{'0': 524, '1': 500} +cf_instruction: CircuitInstruction = ... +cf_operation: ControlFlowOp = cf_instruction.operation +for block in blocks: + # Mappings of "inner" qubits/clbits to the outer ones. + qubit_map = dict(zip(block.qubits, cf_instruction.qubits)) + clbit_map = dict(zip(block.clbits, cf_instruction.clbits)) + + # ... do something with `block` ... ``` -Now, we add an [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.library.XGate") only if the value of the [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") is 0. That way, if the state is $|0\rangle$, it will be changed to $|1\rangle$ and if the state is $|1\rangle$, it will not be changed at all, so the final state will always be $|1\rangle$. +Remember that you will need to propagate this information if you recurse into subblocks of control-flow operations. -```python -from qiskit import transpile, QuantumRegister, ClassicalRegister, QuantumCircuit +All the subcircuit blocks in a [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp") are required to contain the same numbers of [`Qubit`](#qiskit.circuit.Qubit "qiskit.circuit.Qubit")s and [`Clbit`](#qiskit.circuit.Clbit "qiskit.circuit.Clbit")s, referring to the same outer bits in the same order, such that the `zip` loop given in the code block above works. The inner-circuit [`Bit`](#qiskit.circuit.Bit "qiskit.circuit.Bit") objects do not need to be literally the same objects. When using the control-flow builder interface (which, it cannot be stressed enough, is *highly* recommended for users), the builders will arrange that the inner bit objects *are* identical to the outer bit objects; the `qubit_map` in the code block above will always be a mapping `{x: x}`, but if you are consuming the blocks, you should be prepared for the case that the mapping is required. -qr = QuantumRegister(1) -cr = ClassicalRegister(1) -qc = QuantumCircuit(qr, cr) -qc.h(0) -qc.measure(0, 0) +Any [`ClassicalRegister`](#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister")s used in a control-flow subcircuit must also be present in all containing blocks (*i.e.* any containing control-flow operations, and the outermost circuit), and all blocks in the same [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp") need to contain the same registers. Again, the builder interface will arrange for this to be the case (or produce an eager error if they cannot). -qc.x(0).c_if(cr, 0) -qc.measure(0, 0) +When the low-level construction is being used the inner [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") blocks must manually close over any outer-scope [real-time classical computation variables](#circuit-repr-real-time-classical) that they use. This is marked by these being in the [`iter_captured_vars()`](qiskit.circuit.QuantumCircuit#iter_captured_vars "qiskit.circuit.QuantumCircuit.iter_captured_vars") iterator for that block. Libraries constructing these blocks manually will need to track these captures when building control-flow circuit blocks and add them to the block using [`add_capture()`](qiskit.circuit.QuantumCircuit#add_capture "qiskit.circuit.QuantumCircuit.add_capture") (or the `captures` constructor argument), but user code will typically use the control-flow builder interface, which handles this automatically. -qc.draw('mpl') -``` + -![../\_images/circuit-3.png](/images/api/qiskit/dev/circuit-3.png) +## Creating custom instructions -```python -from qiskit.providers.basic_provider import BasicSimulator -backend = BasicSimulator() -tqc = transpile(qc, backend) -counts = backend.run(tqc).result().get_counts() +If you wish to create simple one-off instructions or gates that will be added to a circuit, and the blocks are just being used for visualization or grouping purposes, the easiest way to create a custom instruction or gate is simply to build its definition as a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"), and then use its [`to_instruction()`](qiskit.circuit.QuantumCircuit#to_instruction "qiskit.circuit.QuantumCircuit.to_instruction") or [`to_gate()`](qiskit.circuit.QuantumCircuit#to_gate "qiskit.circuit.QuantumCircuit.to_gate") method as appropriate. The results can be given directly to [`QuantumCircuit.append()`](qiskit.circuit.QuantumCircuit#append "qiskit.circuit.QuantumCircuit.append") on the larger circuit. These methods will create base [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") or [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") instances whose [`definition`](qiskit.circuit.Instruction#definition "qiskit.circuit.Instruction.definition") attribute is the circuit as supplied, meaning it will automatically be accessible to the transpiler, and to other Qiskit functions that attempt to decompose circuits. + +Note that standalone instructions and gates should act only on qubits and clbits; instructions that need to use complex control-flow will need to be inlined onto the [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") using [`compose()`](qiskit.circuit.QuantumCircuit#compose "qiskit.circuit.QuantumCircuit.compose"). + +### Creating instruction subclasses + +The base classes [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction"), [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") and [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate") are all designed to be safe to subclass, and have hook points for subclasses to implement. If your custom gate is parameterless and stateless, you may also want to derive from the corresponding singleton class in [`qiskit.circuit.singleton`](circuit_singleton#module-qiskit.circuit.singleton "qiskit.circuit.singleton"), such as `SingletonGate`. You should consult the documentation in [`qiskit.circuit.singleton`](circuit_singleton#module-qiskit.circuit.singleton "qiskit.circuit.singleton") for additional methods and hook points for the singleton machinery. + +Subclasses should typically define a default constructor that calls the :class\`super\` constructor with the correct arguments for your instruction. It is permissible to have extra state in the class, but your subclasses will most reliably integrate with the rest of the Qiskit machinery if you depend only on your [`Instruction.params`](qiskit.circuit.Instruction#params "qiskit.circuit.Instruction.params"), and these parameters are purely gate angles. + +Subclasses of [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") (or one of its subclasses) should implement the private [`Instruction._define()`](#qiskit.circuit.Instruction._define "qiskit.circuit.Instruction._define") method, which lazily populates the hidden `_definition` cache that backs the public [`definition`](qiskit.circuit.Instruction#definition "qiskit.circuit.Instruction.definition") method. + +### \_define + + + Populate the cached `_definition` field of this [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction"). + + Subclasses should implement this method to provide lazy construction of their public [`definition`](qiskit.circuit.Instruction#definition "qiskit.circuit.Instruction.definition") attribute. A subclass can use its [`params`](qiskit.circuit.Instruction#params "qiskit.circuit.Instruction.params") at the time of the call. The method should populate `_definition` with a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") and not return a value. + + +In subclasses of [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate"), the [`_define()`](#qiskit.circuit.Instruction._define "qiskit.circuit.Instruction._define") method should implement the decomposition only for the all-ones control state. The [`ControlledGate.definition`](qiskit.circuit.Instruction#definition "qiskit.circuit.Instruction.definition") machinery will modify this to handle the actual control state. -print(counts) +If the subclass is using the singleton machinery, beware that [`_define()`](#qiskit.circuit.Instruction._define "qiskit.circuit.Instruction._define") will be called eagerly immediately after the class-body statement has been executed, in order to produce the definition object for the canonical singleton object. This means that your definition must only use gates that are already defined; if you are writing a library with many singleton gates, you will have to order your files and imports to ensure that this is possible. + +Subclasses of [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") will also likely wish to override [the Numpy array-protocol instance method](https://numpy.org/devdocs/user/basics.interoperability.html#the-array-method), `__array__`. This is used by [`Gate.to_matrix()`](qiskit.circuit.Gate#to_matrix "qiskit.circuit.Gate.to_matrix"), and has the signature: + +### array\_\_ + + + Return a Numpy array representing the gate. This can use the gate’s `params` field, and may assume that these are numeric values (assuming the subclass expects that) and not [compile-time parameters](#circuit-compile-time-parameters). + + For greatest efficiency, the returned array should default to a dtype of [`complex`](https://docs.python.org/3/library/functions.html#complex "(in Python v3.12)"). + + +If your custom subclass has natural representations of its controlled or inverse forms, you may also wish to override the [`inverse()`](qiskit.circuit.Instruction#inverse "qiskit.circuit.Instruction.inverse") and [`control()`](qiskit.circuit.Gate#control "qiskit.circuit.Gate.control") methods. + +As an example of defining a custom $R_{xz}$ gate; that is, a single-angle rotation about the $XZ$ axis. This is essentially `RZXGate`, if the qubits were the other way around, so we will write our definition in terms of that. We are parametric, so cannot be a singleton, but we are unitary, so should be a [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"): + +```python +import math +import numpy as np +from qiskit.circuit import Gate, QuantumCircuit + +class RXZGate(Gate): + def __init__(self, theta): + # Initialize with our name, number of qubits and parameters. + super().__init__("rxz", 2, [theta]) + + def _define(self): + # Our base definition is an RZXGate, applied "backwards". + defn = QuantumCircuit(2) + defn.rzx(1, 0) + self._definition = defn + + def inverse(self, annotated = False): + # We have an efficient representation of our inverse, + # so we'll override this method. + return RXZGate(-self.params[0]) + + def power(self, exponent: float): + # Also we have an efficient representation of power. + return RXZGate(exponent * self.params[0]) + + def __array__(self, dtype=None): + cos = math.cos(0.5 * self.params[0]) + isin = 1j * math.sin(0.5 * self.params[0]) + return np.array([ + [cos, -isin, 0, 0], + [-isin, cos, 0, 0], + [0, 0, cos, isin], + [0, 0, isin, cos], + ], dtype=dtype) ``` +In this example, we defined a base definition in terms of `RZXGate`, but to enable faster decompositions to a range of bases, we might want to add some more equivalences to [`SessionEquivalenceLibrary`](#qiskit.circuit.SessionEquivalenceLibrary "qiskit.circuit.SessionEquivalenceLibrary"). Note that the [`BasisTranslator`](qiskit.transpiler.passes.BasisTranslator "qiskit.transpiler.passes.BasisTranslator") translation search will search through all possible equivalences at all possible depths, so providing an equivalence in terms of (say) [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.library.XGate") will automatically make decompositions in terms of [`RXGate`](qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate") available as well. + +Let us add an equivalence in terms of $H$, $CX$ and $R_z$ for an arbitrary symbolic parameter: + ```python -{'1': 1024} +from qiskit.circuit import SessionEquivalenceLibrary, Parameter + +theta = Parameter("theta") + +equiv = QuantumCircuit(2) +equiv.h(0) +equiv.cx(1, 0) +equiv.rz(theta, 0) +equiv.cx(1, 0) +equiv.h(0) + +SessionEquivalenceLibrary.add_equivalence(RZXGate(theta), equiv) ``` -### Quantum Circuit Properties +After this, for the duration of the Python interpreter session, translators like [`BasisTranslator`](qiskit.transpiler.passes.BasisTranslator "qiskit.transpiler.passes.BasisTranslator") will find our new definition in their search. + + + +## Working with circuit-level objects + +### Circuit properties When constructing quantum circuits, there are several properties that help quantify the “size” of the circuits, and their ability to be run on a noisy quantum device. Some of these, like number of qubits, are straightforward to understand, while others like depth and number of tensor components require a bit more explanation. Here we will explain all of these properties, and, in preparation for understanding how circuits change when run on actual devices, highlight the conditions under which they change. @@ -134,7 +747,7 @@ qc.x(6) qc.draw('mpl') ``` -![../\_images/circuit-4.png](/images/api/qiskit/dev/circuit-4.png) +![../\_images/circuit-2.png](/images/api/qiskit/dev/circuit-2.png) From the plot, it is easy to see that this circuit has 12 qubits, and a collection of Hadamard, CNOT, X, and SWAP gates. But how to quantify this programmatically? Because we can do single-qubit gates on all the qubits simultaneously, the number of qubits in this circuit is equal to the **width** of the circuit: @@ -196,99 +809,56 @@ qc.depth() 9 ``` -## Quantum Circuit API - -### Quantum Circuit Construction - -| | | -| ---------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")(\*regs\[, name, global\_phase, ...]) | Create a new circuit. | -| [`QuantumRegister`](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister")(\[size, name, bits]) | Implement a quantum register. | -| [`Qubit`](qiskit.circuit.Qubit "qiskit.circuit.Qubit")(\[register, index]) | Implement a quantum bit. | -| [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister")(\[size, name, bits]) | Implement a classical register. | -| [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit")(\[register, index]) | Implement a classical bit. | -| [`AncillaRegister`](qiskit.circuit.AncillaRegister "qiskit.circuit.AncillaRegister")(\[size, name, bits]) | Implement an ancilla register. | -| [`AncillaQubit`](qiskit.circuit.AncillaQubit "qiskit.circuit.AncillaQubit")(\[register, index]) | A qubit used as ancillary qubit. | -| [`CircuitInstruction`](qiskit.circuit.CircuitInstruction "qiskit.circuit.CircuitInstruction") | A single instruction in a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"), comprised of the `operation` and various operands. | -| [`Register`](qiskit.circuit.Register "qiskit.circuit.Register")(\[size, name, bits]) | Implement a generic register. | -| [`Bit`](qiskit.circuit.Bit "qiskit.circuit.Bit")(\[register, index]) | Implement a generic bit. | - -### Gates and Instructions - -| | | -| -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | -| [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate")(name, num\_qubits, params\[, label, ...]) | Unitary gate. | -| [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate")(name, num\_qubits, params\[, ...]) | Controlled unitary gate. | -| [`Delay`](qiskit.circuit.Delay "qiskit.circuit.Delay")(duration\[, unit]) | Do nothing and just delay/wait/idle for a specified duration. | -| [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction")(name, num\_qubits, num\_clbits, params) | Generic quantum instruction. | -| [`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")(\*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`. | -| [`SwitchCaseOp`](qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp")(target, cases, \*\[, label]) | A circuit operation that executes one particular circuit block based on matching a given `target` against an ordered list of `values`. | -| [`BreakLoopOp`](qiskit.circuit.BreakLoopOp "qiskit.circuit.BreakLoopOp")(num\_qubits, num\_clbits\[, label]) | A circuit operation which, when encountered, jumps to the end of the nearest enclosing loop. | -| [`ContinueLoopOp`](qiskit.circuit.ContinueLoopOp "qiskit.circuit.ContinueLoopOp")(num\_qubits, num\_clbits\[, label]) | A circuit operation which, when encountered, moves to the next iteration of the nearest enclosing loop. | + -The [`SwitchCaseOp`](qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp") also understands a special value: +### Converting abstract circuits to physical circuits -**qiskit.circuit.CASE\_DEFAULT** +An abstract [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") cannot reliably be run on hardware. You might be able to use some of the high-level simulators linked to in [Simulating circuits](#circuit-simulation) to produce quick results for small scale circuits, but to run utility-scale circuits, you will need to use real hardware, which involves compiling to a physical circuit. -A special object that represents the “default” case of a switch statement. If you use this as a case target, it must be the last case, and will match anything that wasn’t already matched. For example: +The high-level function to do this is [`transpile()`](compiler#qiskit.compiler.transpile "qiskit.compiler.transpile"); it takes in an abstract circuit and a hardware `backend` or `target`, and returns a physical circuit. To get more access and control over the stages of the passes that will be run, use [`generate_preset_pass_manager()`](transpiler_preset#qiskit.transpiler.preset_passmanagers.generate_preset_pass_manager "qiskit.transpiler.preset_passmanagers.generate_preset_pass_manager") to build a [`StagedPassManager`](qiskit.transpiler.StagedPassManager "qiskit.transpiler.StagedPassManager") first, which you can then modify. -```python -from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister -from qiskit.circuit import SwitchCaseOp, CASE_DEFAULT - -body0 = QuantumCircuit(2, 2) -body0.x(0) -body1 = QuantumCircuit(2, 2) -body1.z(0) -body2 = QuantumCircuit(2, 2) -body2.cx(0, 1) - -qr, cr = QuantumRegister(2), ClassicalRegister(2) -qc = QuantumCircuit(qr, cr) -qc.switch(cr, [(0, body0), (1, body1), (CASE_DEFAULT, body2)], qr, cr) -``` +The full transpilation and compilation machinery is described in detail in the [`qiskit.transpiler`](transpiler#module-qiskit.transpiler "qiskit.transpiler") module documentation, and detail on all the passes built into Qiskit is available in [`qiskit.transpiler.passes`](transpiler_passes#module-qiskit.transpiler.passes "qiskit.transpiler.passes"). -When using the builder interface of [`QuantumCircuit.switch()`](qiskit.circuit.QuantumCircuit#switch "qiskit.circuit.QuantumCircuit.switch"), this can also be accessed as the `DEFAULT` attribute of the bound case-builder object, such as: + -```python -from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister - -qr, cr = QuantumRegister(2), ClassicalRegister(2) -qc = QuantumCircuit(qr, cr) -with qc.switch(cr) as case: - with case(0): - qc.x(0) - with case(1): - qc.z(0) - with case(case.DEFAULT): - qc.cx(0, 1) -``` +### Simulating circuits -### Parametric Quantum Circuits +While not part of the [`qiskit.circuit`](#module-qiskit.circuit "qiskit.circuit") interface, one of the most common needs is to get quick simulation results for [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") objects. This section provides a quick jumping-off point to other places in the documentation to find the relevant information. -| | | -| ------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | -| [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter")(name, \*\[, uuid]) | Parameter Class for variable parameters. | -| [`ParameterVector`](qiskit.circuit.ParameterVector "qiskit.circuit.ParameterVector")(name\[, length]) | ParameterVector class to quickly generate lists of parameters. | -| [`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")(symbol\_map, expr) | ParameterExpression class to enable creating expressions of Parameters. | +For unitary circuits, you can simulate the effects on the $\lvert0\dotsm0\rangle$ state by passing the [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") directly to the [`Statevector`](qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector") default constructor. You can similar get a unitary matrix representing the circuit as an operator by passing it to the [`Operator`](qiskit.quantum_info.Operator "qiskit.quantum_info.Operator") default constructor. If you have a physical circuit, you may want to instead pass it to [`Operator.from_circuit()`](qiskit.quantum_info.Operator#from_circuit "qiskit.quantum_info.Operator.from_circuit") method to apply transformations from the [`QuantumCircuit.layout`](qiskit.circuit.QuantumCircuit#layout "qiskit.circuit.QuantumCircuit.layout") to map it back to the “abstract” qubit space. + +For a more backend-like simulation experience, there are simulator-backed implementations of all the Qiskit hardware interfaces. In particular, you might be interested in: + +* [`BasicProvider`](qiskit.providers.basic_provider.BasicProvider "qiskit.providers.basic_provider.BasicProvider") and the raw backends it can return to you. +* `StatevectorSimulator` for a backend-like wrapper around [`Statevector`](qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector") +* The [`qiskit_aer`](https://qiskit.github.io/qiskit-aer/apidocs/aer_provider.html#module-qiskit_aer "(in Qiskit Aer v0.14.0)") for full, high-performance simulation capabilities. +* [`StatevectorSampler`](qiskit.primitives.StatevectorSampler "qiskit.primitives.StatevectorSampler") and [`StatevectorEstimator`](qiskit.primitives.StatevectorEstimator "qiskit.primitives.StatevectorEstimator") for simulator-backed reference implementations of the [Qiskit Primitives](primitives#qiskit-primitives). + +### Defining equivalence relationships + +A common task in mapping abstract circuits to physical hardware and optimizing the result is to find equivalence relations that map a gate to a different basis set. Qiskit stores this information in a database class called [`EquivalenceLibrary`](qiskit.circuit.EquivalenceLibrary "qiskit.circuit.EquivalenceLibrary"). + +| | | +| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | +| [`EquivalenceLibrary`](qiskit.circuit.EquivalenceLibrary "qiskit.circuit.EquivalenceLibrary")(\*\[, base]) | A library providing a one-way mapping of Gates to their equivalent implementations as QuantumCircuits. | + +Qiskit ships with a large set of predefined equivalence relationships for all of its standard gates. This base library is called [`StandardEquivalenceLibrary`](#qiskit.circuit.StandardEquivalenceLibrary "qiskit.circuit.StandardEquivalenceLibrary"), and should be treated as immutable. + +**qiskit.circuit.StandardEquivalenceLibrary** -### Random Circuits +A [`EquivalenceLibrary`](qiskit.circuit.EquivalenceLibrary "qiskit.circuit.EquivalenceLibrary") that stores of all Qiskit’s built-in standard gate relationships. You should not mutate this, but instead either create your own [`EquivalenceLibrary`](qiskit.circuit.EquivalenceLibrary "qiskit.circuit.EquivalenceLibrary") using this one as its `base`, or modify the global-state [`SessionEquivalenceLibrary`](#qiskit.circuit.SessionEquivalenceLibrary "qiskit.circuit.SessionEquivalenceLibrary"). + +Qiskit also defines a shared global-state object, [`SessionEquivalenceLibrary`](#qiskit.circuit.SessionEquivalenceLibrary "qiskit.circuit.SessionEquivalenceLibrary"), which is the default equivalences used by various places in Qiskit, most notably the [`BasisTranslator`](qiskit.transpiler.passes.BasisTranslator "qiskit.transpiler.passes.BasisTranslator") transpiler pass. You should feel free to add your own equivalences to this using its [`add_equivalence()`](qiskit.circuit.EquivalenceLibrary#add_equivalence "qiskit.circuit.EquivalenceLibrary.add_equivalence") method, and they will be automatically picked up by default instances of the [`BasisTranslator`](qiskit.transpiler.passes.BasisTranslator "qiskit.transpiler.passes.BasisTranslator"). + +**qiskit.circuit.SessionEquivalenceLibrary** + +The default instance of [`EquivalenceLibrary`](qiskit.circuit.EquivalenceLibrary "qiskit.circuit.EquivalenceLibrary"), which will be used by most Qiskit objects if no library is manually specified. You can feel free to add equivalences to this using [`add_equivalence()`](qiskit.circuit.EquivalenceLibrary#add_equivalence "qiskit.circuit.EquivalenceLibrary.add_equivalence"). It inherits all the built-in rules of [`StandardEquivalenceLibrary`](#qiskit.circuit.StandardEquivalenceLibrary "qiskit.circuit.StandardEquivalenceLibrary"). + +### Generating random circuits ### random\_circuit - + Generate random circuit of arbitrary size and form. This function will generate a random circuit by randomly selecting gates from the set of standard gates in `qiskit.circuit.library.standard_gates`. For example: @@ -300,7 +870,7 @@ with qc.switch(cr) as case: circ.draw(output='mpl') ``` - ![../\_images/circuit-5.png](/images/api/qiskit/dev/circuit-5.png) + ![../\_images/circuit-3.png](/images/api/qiskit/dev/circuit-3.png) **Parameters** @@ -325,15 +895,166 @@ with qc.switch(cr) as case: [**CircuitError**](#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – when invalid options given -### Exceptions +## Exceptions Almost all circuit functions and methods will raise a [`CircuitError`](#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") when encountering an error that is particular to usage of Qiskit (as opposed to regular typing or indexing problems, which will typically raise the corresponding standard Python error). ### CircuitError - + Base class for errors raised while processing a circuit. Set the error message. + + +## Circuit conventions + +When constructing circuits out of abstract objects and more concrete matrices, there are several possible conventions around bit-labelling, bit-ordering, and how the abstract tensor product is realized in concrete matrix algebra. + +Qiskit’s conventions are: + +* in bitstring representations, bits are labelled with the right-most bit in the string called $0$ and the left-most bit in the string of $n$ bits called $n - 1$. +* when using integers as bit-specifier indices in circuit-construction functions, the integer is treated as an index into [`QuantumCircuit.qubits`](qiskit.circuit.QuantumCircuit#qubits "qiskit.circuit.QuantumCircuit.qubits") (or [`clbits`](qiskit.circuit.QuantumCircuit#clbits "qiskit.circuit.QuantumCircuit.clbits")). +* when drawing circuits, we put the lowest-index bits on top. +* in statevector representations, we realize the abstract tensor product as the Kronecker product, and order the arguments to this such that the amplitude of computational-basis state $\lvert x\rangle$, where $x$ is the bitstring interpreted as an integer, is at location `statevector[x]`. +* when controlling a gate, the control qubit(s) is placed first in the argument list, *e.g.* in the call `qc.cx(0, 1)`, qubit 0 will be the control and qubit 1 will be the target. Similarly, in the manual call `qc.append(CXGate(), [0, 1])`, qubit 0 will be the control and qubit 1 will be the target. + +Let us illustrate these conventions with some examples. + +### Bit labelling + +Take the circuit: + +```python +from qiskit import QuantumCircuit + +qc = QuantumCircuit(5, 5) +qc.x(0) +qc.x(1) +qc.x(4) +qc.measure(range(5), range(5)) +``` + +This flips the states of qubits 0, 1 and 4 from $\lvert0\rangle$ to $\lvert1\rangle$, then measures all qubits $n$ into the corresponding clbit $n$ using the computational ($Z$) basis. If simulated noiselessly, the bitstring output from this circuit will be $10011$ every time; qubits 0, 1, and 4 are flipped, and the “one” values in the bitstring are in the zeroth, first and fourth digits *from the right*. + +In Qiskit, we would write the qubit state immediately before the measurement in ket-notation shorthand as $\lvert10011\rangle$. Note that the ket label matches the classical bitstring, and has the numeric binary value of 19. + +If we draw this circuit, we will see that Qiskit places the zeroth qubit on the top of the circuit drawing: + +```python +qc.draw("mpl") +``` + +![../\_images/circuit-5.png](/images/api/qiskit/dev/circuit-5.png) + +### Matrix representations + +Statevectors are defined in the convention that for a two-level system, the relationship between abstract representation and matrix representation is such that + +$$ +\alpha\lvert0\rangle + \beta\lvert1\rangle + \leftrightarrow \begin{pmatrix} \alpha \\ \beta \end{pmatrix} +$$ + +where $\alpha$ and $\beta$ are complex numbers. We store the statevector as a 1D Numpy [`ndarray`](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray "(in NumPy v1.26)") with data `sv = [alpha, beta]`, *i.e.* `sv[0] == alpha` and `sv[1] == beta`; note that the indices into the statevector match the ket labels. + +We construct [the tensor product of two qubit states](https://en.wikipedia.org/wiki/Tensor_product) in matrix algebra using [the Kronecker product](https://en.wikipedia.org/wiki/Kronecker_product), with qubit 0 on the right and qubit 1 on the left, such that the $Z$ basis state $\lvert x\rangle$ (where $x$ is the integer interpretation of the bitstring) has its non-zero term in the statevector `sv` at `sv[x]`: + +```python +import numpy +from qiskit import QuantumCircuit +from qiskit.quantum_info import Statevector + +state_0 = [1, 0] # defined representation of |0> +state_1 = [0, 1] # defined representation of |1> + +# Circuit that creates basis state |10011>, where +# binary 10011 has the decimal value 19. +qc = QuantumCircuit(5) +qc.x(0) +qc.x(1) +qc.x(4) +qiskit_sv = Statevector(qc) + +# List index 'n' corresponds to qubit 'n'. +individual_states = [ + state_1, + state_1, + state_0, + state_0, + state_1, +] +# Start from a scalar. +manual_sv = [1] +for qubit_state in individual_states: + # Each new qubit goes "on the left". + manual_sv = numpy.kron(qubit_state, manual_sv) + +# Now `qiskit_sv` and `manual_sv` are the same, and: +assert manual_sv[19] == 1 +assert qiskit_sv[19] == 1 +``` + +This feeds through to the matrix representation of operators, and joins with the conventions on bit orders for controlled operators. For example, the matrix form of [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate") is: + +```python +import numpy +from qiskit.circuit.library import CXGate + +numpy.array(CXGate()) +``` + +$$ +\operatorname{array}(CX) = + \begin{pmatrix} + 1 & 0 & 0 & 0 \\ + 0 & 0 & 0 & 1 \\ + 0 & 0 & 1 & 0 \\ + 0 & 1 & 0 & 0 + \end{pmatrix} +$$ + +This might be different to other matrix representations you have seen for $CX$, but recall that the choice of matrix representation is conventional, and this form matches Qiskit’s conventions of *control qubits come first* and *the tensor product is represented such that there is a correspondence between the index of the “one amplitude” and the bitstring value of a state*. + +In the case of multiple controls for a gate, such as for [`CCXGate`](qiskit.circuit.library.CCXGate "qiskit.circuit.library.CCXGate"), the `ctrl_state` argument is interpreted as the bitstring value of the control qubits, using the same zero-based labelling conventions. For example, given that the default `ctrl_state` is the all-ones bitstring, we can see that the matrix form of [`CCXGate`](qiskit.circuit.library.CCXGate "qiskit.circuit.library.CCXGate") with `ctrl_state = 1` is the same as if we took the all-ones control-state [`CCXGate`](qiskit.circuit.library.CCXGate "qiskit.circuit.library.CCXGate"), but flipped the value of the higher indexed control qubit on entry and exist to the gate: + +```python +from qiskit import QuantumCircuit +from qiskit.quantum_info import Operator + +# Build the natural representation of `CCX` with the +# control qubits being `[0, 1]`, relative to the +# bitstring state "01", such that qubit 0 must be in |1> +# and qubit 1 must be in |0>. The target qubit is 2. +ccx_natural = QuantumCircuit(3) +ccx_natural.ccx(0, 1, 2, ctrl_state=1) + +# Build the same circuit in terms of the all-ones CCX. +# Note that we flip _qubit 1_, because that's the one +# that differs from the all-ones state. +ccx_relative = QuantumCircuit(3) +ccx_relative.x(1) +ccx_relative.ccx(0, 1, 2) +ccx_relative.x(1) + +assert Operator(ccx_relative) == Operator(ccx_natural) +``` + +In both these cases, the matrix form of [`CCXGate`](qiskit.circuit.library.CCXGate "qiskit.circuit.library.CCXGate") in `ctrl_state = 1` is: + +$$ +\operatorname{array}\bigl(CCX(\text{ctrl\_state}=1)\bigr) = + \begin{pmatrix} + 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ + 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ + 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ + 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ + 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ + 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ + 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ + 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 + \end{pmatrix} +$$ + diff --git a/docs/api/qiskit/dev/circuit_classical.mdx b/docs/api/qiskit/dev/circuit_classical.mdx index 3b89288900b..c667fe0a10c 100644 --- a/docs/api/qiskit/dev/circuit_classical.mdx +++ b/docs/api/qiskit/dev/circuit_classical.mdx @@ -18,7 +18,7 @@ python_api_name: qiskit.circuit.classical `qiskit.circuit.classical` -This module contains an exploratory representation of runtime operations on classical values during circuit execution. +This module contains an exploratory representation of real-time operations on classical values during circuit execution. Currently, only simple expressions on bits and registers that result in a Boolean value are supported, and these are only valid for use in the conditions of [`QuantumCircuit.if_test()`](qiskit.circuit.QuantumCircuit#if_test "qiskit.circuit.QuantumCircuit.if_test") ([`IfElseOp`](qiskit.circuit.IfElseOp "qiskit.circuit.IfElseOp")) and [`QuantumCircuit.while_loop()`](qiskit.circuit.QuantumCircuit#while_loop "qiskit.circuit.QuantumCircuit.while_loop") ([`WhileLoopOp`](qiskit.circuit.WhileLoopOp "qiskit.circuit.WhileLoopOp")), and in the target of [`QuantumCircuit.switch()`](qiskit.circuit.QuantumCircuit#switch "qiskit.circuit.QuantumCircuit.switch") ([`SwitchCaseOp`](qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp")). @@ -48,7 +48,7 @@ There are two pathways for constructing expressions. The classes that form [the The expression system is based on tree representation. All nodes in the tree are final (uninheritable) instances of the abstract base class: - + Root base class of all nodes in the expression tree. The base case should never be instantiated directly. This must not be subclassed by users; subclasses form the internal data of the representation of expressions, and it does not make sense to add more outside of Qiskit library code. @@ -58,12 +58,12 @@ The expression system is based on tree representation. All nodes in the tree are These objects are mutable and should not be reused in a different location without a copy. -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"). +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 real-time variable, or a wrapper around a [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") or [`ClassicalRegister`](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister"). - + 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"). + 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`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") or [`ClassicalRegister`](circuit#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. @@ -76,19 +76,19 @@ The base for dynamic variables is the [`Var`](#qiskit.circuit.classical.expr.Var ### var - 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. + 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`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") or [`ClassicalRegister`](circuit#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`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") or [`ClassicalRegister`](circuit#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`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")/[`ClassicalRegister`](circuit#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. - + A single scalar value. The operations traditionally associated with pre-, post- or infix operators in programming are represented by the [`Unary`](#qiskit.circuit.classical.expr.Unary "qiskit.circuit.classical.expr.Unary") and [`Binary`](#qiskit.circuit.classical.expr.Binary "qiskit.circuit.classical.expr.Binary") nodes as appropriate. These each take an operation type code, which are exposed as enumerations inside each class as [`Unary.Op`](#qiskit.circuit.classical.expr.Unary.Op "qiskit.circuit.classical.expr.Unary.Op") and [`Binary.Op`](#qiskit.circuit.classical.expr.Binary.Op "qiskit.circuit.classical.expr.Binary.Op") respectively. - + A unary expression. **Parameters** @@ -97,7 +97,7 @@ The operations traditionally associated with pre-, post- or infix operators in p * **operand** ([*Expr*](#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr")) – The operand of the operation. * **type** ([*Type*](#qiskit.circuit.classical.types.Type "qiskit.circuit.classical.types.types.Type")) – The resolved type of the result. - + Enumeration of the opcodes for unary operations. The bitwise negation [`BIT_NOT`](#qiskit.circuit.classical.expr.Unary.Op.BIT_NOT "qiskit.circuit.classical.expr.Unary.Op.BIT_NOT") takes a single bit or an unsigned integer of known width, and returns a value of the same type. @@ -118,7 +118,7 @@ The operations traditionally associated with pre-, post- or infix operators in p - + A binary expression. **Parameters** @@ -128,7 +128,7 @@ The operations traditionally associated with pre-, post- or infix operators in p * **right** ([*Expr*](#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr")) – The right-hand operand. * **type** ([*Type*](#qiskit.circuit.classical.types.Type "qiskit.circuit.classical.types.types.Type")) – The resolved type of the result. - + Enumeration of the opcodes for binary operations. The bitwise operations [`BIT_AND`](#qiskit.circuit.classical.expr.Binary.Op.BIT_AND "qiskit.circuit.classical.expr.Binary.Op.BIT_AND"), [`BIT_OR`](#qiskit.circuit.classical.expr.Binary.Op.BIT_OR "qiskit.circuit.classical.expr.Binary.Op.BIT_OR") and [`BIT_XOR`](#qiskit.circuit.classical.expr.Binary.Op.BIT_XOR "qiskit.circuit.classical.expr.Binary.Op.BIT_XOR") apply to two operands of the same type, which must be a single bit or an unsigned integer of fixed width. The resultant type is the same as the two input types. @@ -209,7 +209,7 @@ When constructing expressions, one must ensure that the types are valid for the Expressions in this system are defined to act only on certain sets of types. However, values may be cast to a suitable supertype in order to satisfy the typing requirements. In these cases, a node in the expression tree is used to represent the promotion. In all cases where operations note that they “implicitly cast” or “coerce” their arguments, the expression tree must have this node representing the conversion. - + A cast from one type to another, implied by the use of an expression in a different context. @@ -223,7 +223,7 @@ The functions and methods described in this section are a more user-friendly way ### lift - + Lift the given Python `value` to a [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.expr.Value") or [`Var`](#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.expr.Var"). If an explicit `type` is given, the typing in the output will reflect that. @@ -263,7 +263,7 @@ You can manually specify casts in cases where the cast is allowed in explicit fo ### cast - + Create an explicit cast from the given value to the given type. **Examples** @@ -286,12 +286,12 @@ There are helper constructor functions for each of the unary operations. ### bit\_not - + Create a bitwise ‘not’ expression node from the given value, resolving any implicit casts and lifting the value into a [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") node if required. **Examples** - Bitwise negation of a [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister"): + Bitwise negation of a [`ClassicalRegister`](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister"): ```python >>> from qiskit.circuit import ClassicalRegister @@ -307,12 +307,12 @@ There are helper constructor functions for each of the unary operations. ### logic\_not - + Create a logical ‘not’ expression node from the given value, resolving any implicit casts and lifting the value into a [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") node if required. **Examples** - Logical negation of a [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister"): + Logical negation of a [`ClassicalRegister`](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister"): ```python >>> from qiskit.circuit import ClassicalRegister @@ -330,7 +330,7 @@ Similarly, the binary operations and relations have helper functions defined. ### bit\_and - + Create a bitwise ‘and’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. **Examples** @@ -351,7 +351,7 @@ Similarly, the binary operations and relations have helper functions defined. ### bit\_or - + Create a bitwise ‘or’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. **Examples** @@ -372,7 +372,7 @@ Similarly, the binary operations and relations have helper functions defined. ### bit\_xor - + Create a bitwise ‘exclusive or’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. **Examples** @@ -393,7 +393,7 @@ Similarly, the binary operations and relations have helper functions defined. ### logic\_and - + Create a logical ‘and’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. **Examples** @@ -414,7 +414,7 @@ Similarly, the binary operations and relations have helper functions defined. ### logic\_or - + Create a logical ‘or’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. **Examples** @@ -435,7 +435,7 @@ Similarly, the binary operations and relations have helper functions defined. ### equal - + Create an ‘equal’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. **Examples** @@ -456,7 +456,7 @@ Similarly, the binary operations and relations have helper functions defined. ### not\_equal - + Create a ‘not equal’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. **Examples** @@ -477,7 +477,7 @@ Similarly, the binary operations and relations have helper functions defined. ### less - + Create a ‘less than’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. **Examples** @@ -498,7 +498,7 @@ Similarly, the binary operations and relations have helper functions defined. ### less\_equal - + Create a ‘less than or equal to’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. **Examples** @@ -519,7 +519,7 @@ Similarly, the binary operations and relations have helper functions defined. ### greater - + Create a ‘greater than’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. **Examples** @@ -540,7 +540,7 @@ Similarly, the binary operations and relations have helper functions defined. ### greater\_equal - + Create a ‘greater than or equal to’ expression node from the given value, resolving any implicit casts and lifting the values into [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes if required. **Examples** @@ -559,11 +559,11 @@ Similarly, the binary operations and relations have helper functions defined. [*Expr*](#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.expr.Expr") -Qiskit’s legacy method for specifying equality conditions for use in conditionals is to use a two-tuple of a [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") or [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") and an integer. This represents an exact equality condition, and there are no ways to specify any other relations. The helper function [`lift_legacy_condition()`](#qiskit.circuit.classical.expr.lift_legacy_condition "qiskit.circuit.classical.expr.lift_legacy_condition") converts this legacy format into the new expression syntax. +Qiskit’s legacy method for specifying equality conditions for use in conditionals is to use a two-tuple of a [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") or [`ClassicalRegister`](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") and an integer. This represents an exact equality condition, and there are no ways to specify any other relations. The helper function [`lift_legacy_condition()`](#qiskit.circuit.classical.expr.lift_legacy_condition "qiskit.circuit.classical.expr.lift_legacy_condition") converts this legacy format into the new expression syntax. ### lift\_legacy\_condition - + Lift a legacy two-tuple equality condition into a new-style [`Expr`](#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr"). **Examples** @@ -590,12 +590,12 @@ Qiskit’s legacy method for specifying equality conditions for use in condition A typical consumer of the expression tree wants to recursively walk through the tree, potentially statefully, acting on each node differently depending on its type. This is naturally a double-dispatch problem; the logic of ‘what is to be done’ is likely stateful and users should be free to define their own operations, yet each node defines ‘what is being acted on’. We enable this double dispatch by providing a base visitor class for the expression tree. - + Base class for visitors to the [`Expr`](#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr") tree. Subclasses should override whichever of the `visit_*` methods that they are able to handle, and should be organised such that non-existent methods will never be called. ### visit\_binary - + **Return type** *\_T\_co* @@ -603,7 +603,7 @@ A typical consumer of the expression tree wants to recursively walk through the ### visit\_cast - + **Return type** *\_T\_co* @@ -611,7 +611,7 @@ A typical consumer of the expression tree wants to recursively walk through the ### visit\_generic - + **Return type** *\_T\_co* @@ -619,7 +619,7 @@ A typical consumer of the expression tree wants to recursively walk through the ### visit\_unary - + **Return type** *\_T\_co* @@ -627,7 +627,7 @@ A typical consumer of the expression tree wants to recursively walk through the ### visit\_value - + **Return type** *\_T\_co* @@ -635,7 +635,7 @@ A typical consumer of the expression tree wants to recursively walk through the ### visit\_var - + **Return type** *\_T\_co* @@ -648,12 +648,12 @@ For the convenience of simple visitors that only need to inspect the variables i ### iter\_vars - + Get an iterator over the [`Var`](#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.expr.Var") nodes referenced at any level in the given [`Expr`](#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.expr.Expr"). **Examples** - Print out the name of each [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") encountered: + Print out the name of each [`ClassicalRegister`](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") encountered: ```python from qiskit.circuit import ClassicalRegister @@ -676,7 +676,7 @@ Two expressions can be compared for direct structural equality by using the buil ### structurally\_equivalent - + 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`](#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). @@ -696,7 +696,7 @@ Two expressions can be compared for direct structural equality by using the buil **Examples** - Comparing two expressions for structural equivalence, with no remapping of the variables. These are different because the different [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") instances compare differently: + Comparing two expressions for structural equivalence, with no remapping of the variables. These are different because the different [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") instances compare differently: ```python >>> from qiskit.circuit import Clbit @@ -723,7 +723,7 @@ Some expressions have associated memory locations, and others may be purely temp ### is\_lvalue - + 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. @@ -783,7 +783,7 @@ The type system of the expression tree is exposed through this module. This is i All types inherit from an abstract base class: - + Root base class of all nodes in the type tree. The base case should never be instantiated directly. This must not be subclassed by users; subclasses form the internal data of the representation of expressions, and it does not make sense to add more outside of Qiskit library code. @@ -791,13 +791,13 @@ All types inherit from an abstract base class: Types should be considered immutable objects, and you must not mutate them. It is permissible to reuse a [`Type`](#qiskit.circuit.classical.types.Type "qiskit.circuit.classical.types.Type") that you take from another object without copying it, and generally this will be the best approach for performance. [`Type`](#qiskit.circuit.classical.types.Type "qiskit.circuit.classical.types.Type") objects are designed to be small amounts of data, and it’s best to point to the same instance of the data where possible rather than heap-allocating a new version of the same thing. Where possible, the class constructors will return singleton instances to facilitate this. -The two different types available are for Booleans (corresponding to [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") and the literals `True` and `False`), and unsigned integers (corresponding to [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") and Python integers). +The two different types available are for Booleans (corresponding to [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") and the literals `True` and `False`), and unsigned integers (corresponding to [`ClassicalRegister`](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") and Python integers). - + The Boolean type. This has exactly two values: `True` and `False`. - + An unsigned integer of fixed bit width. @@ -815,7 +815,7 @@ The low-level interface to querying the subtyping relationship is the [`order()` ### order - + Get the ordering relationship between the two types as an enumeration value. **Examples** @@ -842,7 +842,7 @@ The low-level interface to querying the subtyping relationship is the [`order()` The return value is an enumeration [`Ordering`](#qiskit.circuit.classical.types.Ordering "qiskit.circuit.classical.types.Ordering") that describes what, if any, subtyping relationship exists between the two types. - + Enumeration listing the possible relations between two types. Types only have a partial ordering, so it’s possible for two types to have no sub-typing relationship. Note that the sub-/supertyping relationship is not the same as whether a type can be explicitly cast from one to another. @@ -852,7 +852,7 @@ Some helper methods are then defined in terms of this low-level [`order()`](#qis ### is\_subtype - + Does the relation $\text{left} \le \text{right}$ hold? If there is no ordering relation between the two types, then this returns `False`. If `strict`, then the equality is also forbidden. **Examples** @@ -881,7 +881,7 @@ Some helper methods are then defined in terms of this low-level [`order()`](#qis ### is\_supertype - + Does the relation $\text{left} \ge \text{right}$ hold? If there is no ordering relation between the two types, then this returns `False`. If `strict`, then the equality is also forbidden. **Examples** @@ -910,7 +910,7 @@ Some helper methods are then defined in terms of this low-level [`order()`](#qis ### greater - + Get the greater of the two types, assuming that there is an ordering relation between them. Technically, this is a slightly restricted version of the concept of the ‘meet’ of the two types in that the return value must be one of the inputs. In practice in the type system there is no concept of a ‘sum’ type, so the ‘meet’ exists if and only if there is an ordering between the two types, and is equal to the greater of the two types. **Returns** @@ -942,7 +942,7 @@ It is common to need to cast values of one type to another type. The casting rul ### cast\_kind - + Determine the sort of cast that is required to move from the left type to the right type. **Examples** @@ -966,7 +966,7 @@ It is common to need to cast values of one type to another type. The casting rul The return values from this function are an enumeration explaining the types of cast that are allowed from the left type to the right type. - + A return value indicating the type of cast that can occur from one type to another. diff --git a/docs/api/qiskit/dev/circuit_library.mdx b/docs/api/qiskit/dev/circuit_library.mdx index abb532d3882..33cbf622edd 100644 --- a/docs/api/qiskit/dev/circuit_library.mdx +++ b/docs/api/qiskit/dev/circuit_library.mdx @@ -122,18 +122,18 @@ print(gate.control(1).to_matrix()) # CX (controlled X) gate Directives are operations to the quantum stack that are meant to be interpreted by the backend or the transpiler. In general, the transpiler or backend might optionally ignore them if there is no implementation for them. -| | | -| --------------------------------------------------------------------------------------------------- | -------------------- | -| [`Barrier`](qiskit.circuit.library.Barrier "qiskit.circuit.library.Barrier")(num\_qubits\[, label]) | Barrier instruction. | +| | | +| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Barrier`(num\_qubits\[, label]) | A directive for circuit compilation to separate pieces of a circuit so that any optimizations or re-writes are constrained to only act between barriers. | ## Standard Operations Operations are non-reversible changes in the quantum state of the circuit. -| | | -| --------------------------------------------------------------------------------------------------------- | ----------------------------------------------- | -| [`Measure`](qiskit.circuit.library.Measure "qiskit.circuit.library.Measure")(\*args\[, \_force\_mutable]) | Quantum measurement in the computational basis. | -| [`Reset`](qiskit.circuit.library.Reset "qiskit.circuit.library.Reset")(\*args\[, \_force\_mutable]) | Qubit reset. | +| | | +| -------------------------------------- | --------------------------------------------------------- | +| `Measure`(\*args\[, \_force\_mutable]) | Quantum measurement in the computational basis. | +| `Reset`(\*args\[, \_force\_mutable]) | Incoherently reset a qubit to the $\lvert0\rangle$ state. | ## Generalized Gates @@ -154,34 +154,34 @@ print(diagonal.num_qubits) 2 ``` -| | | | | -| ------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | - | ----------------------------------- | -| [`Diagonal`](qiskit.circuit.library.Diagonal "qiskit.circuit.library.Diagonal")(diag) | Diagonal circuit. | | | -| [`DiagonalGate`](qiskit.circuit.library.DiagonalGate "qiskit.circuit.library.DiagonalGate")(diag) | Gate implementing a diagonal transformation. | | | -| [`MCMT`](qiskit.circuit.library.MCMT "qiskit.circuit.library.MCMT")(gate, num\_ctrl\_qubits, num\_target\_qubits) | The multi-controlled multi-target gate, for an arbitrary singly controlled target gate. | | | -| [`MCMTVChain`](qiskit.circuit.library.MCMTVChain "qiskit.circuit.library.MCMTVChain")(gate, num\_ctrl\_qubits, ...) | The MCMT implementation using the CCX V-chain. | | | -| [`Permutation`](qiskit.circuit.library.Permutation "qiskit.circuit.library.Permutation")(num\_qubits\[, pattern, seed]) | An n\_qubit circuit that permutes qubits. | | | -| [`PermutationGate`](qiskit.circuit.library.PermutationGate "qiskit.circuit.library.PermutationGate")(pattern) | A gate that permutes qubits. | | | -| [`GMS`](qiskit.circuit.library.GMS "qiskit.circuit.library.GMS")(num\_qubits, theta) | Global Mølmer–Sørensen gate. | | | -| [`GR`](qiskit.circuit.library.GR "qiskit.circuit.library.GR")(num\_qubits, theta, phi) | Global R gate. | | | -| [`GRX`](qiskit.circuit.library.GRX "qiskit.circuit.library.GRX")(num\_qubits, theta) | Global RX gate. | | | -| [`GRY`](qiskit.circuit.library.GRY "qiskit.circuit.library.GRY")(num\_qubits, theta) | Global RY gate. | | | -| [`GRZ`](qiskit.circuit.library.GRZ "qiskit.circuit.library.GRZ")(num\_qubits, phi) | Global RZ gate. | | | -| [`MCPhaseGate`](qiskit.circuit.library.MCPhaseGate "qiskit.circuit.library.MCPhaseGate")(lam, num\_ctrl\_qubits\[, label, ...]) | Multi-controlled-Phase gate. | | | -| [`MCXGate`](qiskit.circuit.library.MCXGate "qiskit.circuit.library.MCXGate")(\[num\_ctrl\_qubits, label, ...]) | The general, multi-controlled X gate. | | | -| [`MCXGrayCode`](qiskit.circuit.library.MCXGrayCode "qiskit.circuit.library.MCXGrayCode")(\[num\_ctrl\_qubits, label, ...]) | Implement the multi-controlled X gate using the Gray code. | | | -| [`MCXRecursive`](qiskit.circuit.library.MCXRecursive "qiskit.circuit.library.MCXRecursive")(\[num\_ctrl\_qubits, label, ...]) | Implement the multi-controlled X gate using recursion. | | | -| [`MCXVChain`](qiskit.circuit.library.MCXVChain "qiskit.circuit.library.MCXVChain")(\[num\_ctrl\_qubits, dirty\_ancillas, ...]) | Implement the multi-controlled X gate using a V-chain of CX gates. | | | -| [`RVGate`](qiskit.circuit.library.RVGate "qiskit.circuit.library.RVGate")(v\_x, v\_y, v\_z\[, basis]) | Rotation around arbitrary rotation axis $v$ where \$ | v | \$ is angle of rotation in radians. | -| [`PauliGate`](qiskit.circuit.library.PauliGate "qiskit.circuit.library.PauliGate")(label) | A multi-qubit Pauli gate. | | | -| [`LinearFunction`](qiskit.circuit.library.LinearFunction "qiskit.circuit.library.LinearFunction")(linear\[, validate\_input]) | A linear reversible circuit on n qubits. | | | -| [`Isometry`](qiskit.circuit.library.Isometry "qiskit.circuit.library.Isometry")(isometry, num\_ancillas\_zero, ...\[, ...]) | Decomposition of arbitrary isometries from $m$ to $n$ qubits. | | | -| [`UnitaryGate`](qiskit.circuit.library.UnitaryGate "qiskit.circuit.library.UnitaryGate")(data\[, label, check\_input]) | Class quantum gates specified by a unitary matrix. | | | -| [`UCGate`](qiskit.circuit.library.UCGate "qiskit.circuit.library.UCGate")(gate\_list\[, up\_to\_diagonal]) | Uniformly controlled gate (also called multiplexed gate). | | | -| [`UCPauliRotGate`](qiskit.circuit.library.UCPauliRotGate "qiskit.circuit.library.UCPauliRotGate")(angle\_list, rot\_axis) | Uniformly controlled Pauli rotations. | | | -| [`UCRXGate`](qiskit.circuit.library.UCRXGate "qiskit.circuit.library.UCRXGate")(angle\_list) | Uniformly controlled Pauli-X rotations. | | | -| [`UCRYGate`](qiskit.circuit.library.UCRYGate "qiskit.circuit.library.UCRYGate")(angle\_list) | Uniformly controlled Pauli-Y rotations. | | | -| [`UCRZGate`](qiskit.circuit.library.UCRZGate "qiskit.circuit.library.UCRZGate")(angle\_list) | Uniformly controlled Pauli-Z rotations. | | | +| | | +| ------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| [`Diagonal`](qiskit.circuit.library.Diagonal "qiskit.circuit.library.Diagonal")(diag) | Diagonal circuit. | +| [`DiagonalGate`](qiskit.circuit.library.DiagonalGate "qiskit.circuit.library.DiagonalGate")(diag) | Gate implementing a diagonal transformation. | +| [`MCMT`](qiskit.circuit.library.MCMT "qiskit.circuit.library.MCMT")(gate, num\_ctrl\_qubits, num\_target\_qubits) | The multi-controlled multi-target gate, for an arbitrary singly controlled target gate. | +| [`MCMTVChain`](qiskit.circuit.library.MCMTVChain "qiskit.circuit.library.MCMTVChain")(gate, num\_ctrl\_qubits, ...) | The MCMT implementation using the CCX V-chain. | +| [`Permutation`](qiskit.circuit.library.Permutation "qiskit.circuit.library.Permutation")(num\_qubits\[, pattern, seed]) | An n\_qubit circuit that permutes qubits. | +| [`PermutationGate`](qiskit.circuit.library.PermutationGate "qiskit.circuit.library.PermutationGate")(pattern) | A gate that permutes qubits. | +| [`GMS`](qiskit.circuit.library.GMS "qiskit.circuit.library.GMS")(num\_qubits, theta) | Global Mølmer–Sørensen gate. | +| [`GR`](qiskit.circuit.library.GR "qiskit.circuit.library.GR")(num\_qubits, theta, phi) | Global R gate. | +| [`GRX`](qiskit.circuit.library.GRX "qiskit.circuit.library.GRX")(num\_qubits, theta) | Global RX gate. | +| [`GRY`](qiskit.circuit.library.GRY "qiskit.circuit.library.GRY")(num\_qubits, theta) | Global RY gate. | +| [`GRZ`](qiskit.circuit.library.GRZ "qiskit.circuit.library.GRZ")(num\_qubits, phi) | Global RZ gate. | +| [`MCPhaseGate`](qiskit.circuit.library.MCPhaseGate "qiskit.circuit.library.MCPhaseGate")(lam, num\_ctrl\_qubits\[, label, ...]) | Multi-controlled-Phase gate. | +| [`MCXGate`](qiskit.circuit.library.MCXGate "qiskit.circuit.library.MCXGate")(\[num\_ctrl\_qubits, label, ...]) | The general, multi-controlled X gate. | +| [`MCXGrayCode`](qiskit.circuit.library.MCXGrayCode "qiskit.circuit.library.MCXGrayCode")(\[num\_ctrl\_qubits, label, ...]) | Implement the multi-controlled X gate using the Gray code. | +| [`MCXRecursive`](qiskit.circuit.library.MCXRecursive "qiskit.circuit.library.MCXRecursive")(\[num\_ctrl\_qubits, label, ...]) | Implement the multi-controlled X gate using recursion. | +| [`MCXVChain`](qiskit.circuit.library.MCXVChain "qiskit.circuit.library.MCXVChain")(\[num\_ctrl\_qubits, dirty\_ancillas, ...]) | Implement the multi-controlled X gate using a V-chain of CX gates. | +| [`RVGate`](qiskit.circuit.library.RVGate "qiskit.circuit.library.RVGate")(v\_x, v\_y, v\_z\[, basis]) | Rotation around arbitrary rotation axis $\vec{v}$ where $\|\vec{v}\|_2$ is angle of rotation in radians. | +| [`PauliGate`](qiskit.circuit.library.PauliGate "qiskit.circuit.library.PauliGate")(label) | A multi-qubit Pauli gate. | +| [`LinearFunction`](qiskit.circuit.library.LinearFunction "qiskit.circuit.library.LinearFunction")(linear\[, validate\_input]) | A linear reversible circuit on n qubits. | +| [`Isometry`](qiskit.circuit.library.Isometry "qiskit.circuit.library.Isometry")(isometry, num\_ancillas\_zero, ...\[, ...]) | Decomposition of arbitrary isometries from $m$ to $n$ qubits. | +| [`UnitaryGate`](qiskit.circuit.library.UnitaryGate "qiskit.circuit.library.UnitaryGate")(data\[, label, check\_input]) | Class quantum gates specified by a unitary matrix. | +| [`UCGate`](qiskit.circuit.library.UCGate "qiskit.circuit.library.UCGate")(gate\_list\[, up\_to\_diagonal]) | Uniformly controlled gate (also called multiplexed gate). | +| [`UCPauliRotGate`](qiskit.circuit.library.UCPauliRotGate "qiskit.circuit.library.UCPauliRotGate")(angle\_list, rot\_axis) | Uniformly controlled Pauli rotations. | +| [`UCRXGate`](qiskit.circuit.library.UCRXGate "qiskit.circuit.library.UCRXGate")(angle\_list) | Uniformly controlled Pauli-X rotations. | +| [`UCRYGate`](qiskit.circuit.library.UCRYGate "qiskit.circuit.library.UCRYGate")(angle\_list) | Uniformly controlled Pauli-Y rotations. | +| [`UCRZGate`](qiskit.circuit.library.UCRZGate "qiskit.circuit.library.UCRZGate")(angle\_list) | Uniformly controlled Pauli-Z rotations. | ## Boolean Logic Circuits @@ -326,7 +326,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_2a\_1 - + **Returns** template as a quantum circuit. @@ -338,7 +338,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_2a\_2 - + **Returns** template as a quantum circuit. @@ -350,7 +350,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_2a\_3 - + **Returns** template as a quantum circuit. @@ -362,7 +362,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_4a\_1 - + **Returns** template as a quantum circuit. @@ -374,7 +374,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_4a\_2 - + **Returns** template as a quantum circuit. @@ -386,7 +386,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_4a\_3 - + **Returns** template as a quantum circuit. @@ -398,7 +398,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_4b\_1 - + **Returns** template as a quantum circuit. @@ -410,7 +410,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_4b\_2 - + **Returns** template as a quantum circuit. @@ -422,7 +422,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_5a\_1 - + **Returns** template as a quantum circuit. @@ -434,7 +434,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_5a\_2 - + **Returns** template as a quantum circuit. @@ -446,7 +446,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_5a\_3 - + **Returns** template as a quantum circuit. @@ -458,7 +458,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_5a\_4 - + **Returns** template as a quantum circuit. @@ -470,7 +470,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_6a\_1 - + **Returns** template as a quantum circuit. @@ -482,7 +482,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_6a\_2 - + **Returns** template as a quantum circuit. @@ -494,7 +494,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_6a\_3 - + **Returns** template as a quantum circuit. @@ -506,7 +506,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_6a\_4 - + **Returns** template as a quantum circuit. @@ -518,7 +518,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_6b\_1 - + **Returns** template as a quantum circuit. @@ -530,7 +530,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_6b\_2 - + **Returns** template as a quantum circuit. @@ -542,7 +542,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_6c\_1 - + **Returns** template as a quantum circuit. @@ -554,7 +554,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_7a\_1 - + **Returns** template as a quantum circuit. @@ -566,7 +566,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_7b\_1 - + **Returns** template as a quantum circuit. @@ -578,7 +578,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_7c\_1 - + **Returns** template as a quantum circuit. @@ -590,7 +590,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_7d\_1 - + **Returns** template as a quantum circuit. @@ -602,7 +602,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_7e\_1 - + **Returns** template as a quantum circuit. @@ -614,7 +614,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9a\_1 - + **Returns** template as a quantum circuit. @@ -626,7 +626,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_1 - + **Returns** template as a quantum circuit. @@ -638,7 +638,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_2 - + **Returns** template as a quantum circuit. @@ -650,7 +650,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_3 - + **Returns** template as a quantum circuit. @@ -662,7 +662,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_4 - + **Returns** template as a quantum circuit. @@ -674,7 +674,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_5 - + **Returns** template as a quantum circuit. @@ -686,7 +686,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_6 - + **Returns** template as a quantum circuit. @@ -698,7 +698,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_7 - + **Returns** template as a quantum circuit. @@ -710,7 +710,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_8 - + **Returns** template as a quantum circuit. @@ -722,7 +722,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_9 - + **Returns** template as a quantum circuit. @@ -734,7 +734,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_10 - + **Returns** template as a quantum circuit. @@ -746,7 +746,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_11 - + **Returns** template as a quantum circuit. @@ -758,7 +758,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9c\_12 - + **Returns** template as a quantum circuit. @@ -770,7 +770,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_1 - + **Returns** template as a quantum circuit. @@ -782,7 +782,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_2 - + **Returns** template as a quantum circuit. @@ -794,7 +794,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_3 - + **Returns** template as a quantum circuit. @@ -806,7 +806,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_4 - + **Returns** template as a quantum circuit. @@ -818,7 +818,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_5 - + **Returns** template as a quantum circuit. @@ -830,7 +830,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_6 - + **Returns** template as a quantum circuit. @@ -842,7 +842,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_7 - + **Returns** template as a quantum circuit. @@ -854,7 +854,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_8 - + **Returns** template as a quantum circuit. @@ -866,7 +866,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_9 - + **Returns** template as a quantum circuit. @@ -878,7 +878,7 @@ Template circuits for [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.lib ### template\_nct\_9d\_10 - + **Returns** template as a quantum circuit. @@ -894,7 +894,7 @@ Template circuits over Clifford gates. ### clifford\_2\_1 - + **Returns** template as a quantum circuit. @@ -906,7 +906,7 @@ Template circuits over Clifford gates. ### clifford\_2\_2 - + **Returns** template as a quantum circuit. @@ -918,7 +918,7 @@ Template circuits over Clifford gates. ### clifford\_2\_3 - + **Returns** template as a quantum circuit. @@ -930,7 +930,7 @@ Template circuits over Clifford gates. ### clifford\_2\_4 - + **Returns** template as a quantum circuit. @@ -942,7 +942,7 @@ Template circuits over Clifford gates. ### clifford\_3\_1 - + **Returns** template as a quantum circuit. @@ -954,7 +954,7 @@ Template circuits over Clifford gates. ### clifford\_4\_1 - + **Returns** template as a quantum circuit. @@ -966,7 +966,7 @@ Template circuits over Clifford gates. ### clifford\_4\_2 - + **Returns** template as a quantum circuit. @@ -978,7 +978,7 @@ Template circuits over Clifford gates. ### clifford\_4\_3 - + **Returns** template as a quantum circuit. @@ -990,7 +990,7 @@ Template circuits over Clifford gates. ### clifford\_4\_4 - + **Returns** template as a quantum circuit. @@ -1002,7 +1002,7 @@ Template circuits over Clifford gates. ### clifford\_5\_1 - + **Returns** template as a quantum circuit. @@ -1014,7 +1014,7 @@ Template circuits over Clifford gates. ### clifford\_6\_1 - + **Returns** template as a quantum circuit. @@ -1026,7 +1026,7 @@ Template circuits over Clifford gates. ### clifford\_6\_2 - + **Returns** template as a quantum circuit. @@ -1038,7 +1038,7 @@ Template circuits over Clifford gates. ### clifford\_6\_3 - + **Returns** template as a quantum circuit. @@ -1050,7 +1050,7 @@ Template circuits over Clifford gates. ### clifford\_6\_4 - + **Returns** template as a quantum circuit. @@ -1062,7 +1062,7 @@ Template circuits over Clifford gates. ### clifford\_6\_5 - + **Returns** template as a quantum circuit. @@ -1074,7 +1074,7 @@ Template circuits over Clifford gates. ### clifford\_8\_1 - + **Returns** template as a quantum circuit. @@ -1086,7 +1086,7 @@ Template circuits over Clifford gates. ### clifford\_8\_2 - + **Returns** template as a quantum circuit. @@ -1098,7 +1098,7 @@ Template circuits over Clifford gates. ### clifford\_8\_3 - + **Returns** template as a quantum circuit. @@ -1114,37 +1114,37 @@ Template circuits with [`RZXGate`](qiskit.circuit.library.RZXGate "qiskit.circui ### rzx\_yz - + Template for CX - RYGate - CX. ### rzx\_xz - + Template for CX - RXGate - CX. ### rzx\_cy - + Template for CX - RYGate - CX. ### rzx\_zz1 - + Template for CX - RZGate - CX. ### rzx\_zz2 - + Template for CX - RZGate - CX. ### rzx\_zz3 - + Template for CX - RZGate - CX. diff --git a/docs/api/qiskit/dev/circuit_singleton.mdx b/docs/api/qiskit/dev/circuit_singleton.mdx index aa202e20af4..c2cfbdf233a 100644 --- a/docs/api/qiskit/dev/circuit_singleton.mdx +++ b/docs/api/qiskit/dev/circuit_singleton.mdx @@ -24,7 +24,7 @@ The machinery in this module is for defining subclasses of [`Instruction`](qiski * Doing something like `XGate(label="my_gate")` produces an object whose type is exactly `XGate`, and all the mutability works completely as expected; all the methods resolve to exactly those defined by [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.library.XGate"), [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"), or parents. * Doing `XGate()` produces a singleton object whose type is a synthetic `_SingletonXGate` class, which derives [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.library.XGate") but overrides [`__setattr__()`](https://docs.python.org/3/reference/datamodel.html#object.__setattr__ "(in Python v3.12)") to make itself immutable. The object itself has precisely the same instance attributes as `XGate()` would have if there was no singleton handling. This object will return itself under [`copy()`](https://docs.python.org/3/library/copy.html#copy.copy "(in Python v3.12)"), [`deepcopy()`](https://docs.python.org/3/library/copy.html#copy.deepcopy "(in Python v3.12)") and roundtrip through [`pickle`](https://docs.python.org/3/library/pickle.html#module-pickle "(in Python v3.12)"). -The same can be true for, for example, [`Measure`](qiskit.circuit.library.Measure "qiskit.circuit.library.Measure"), except that it’s a subclass of [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") only, and not [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). +The same can be true for, for example, [`Measure`](circuit#qiskit.circuit.Measure "qiskit.circuit.Measure"), except that it’s a subclass of [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") only, and not [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). The classes in this module are for advanced use, because they are closely entwined with the heart of Qiskit’s data model for circuits. @@ -44,21 +44,21 @@ assert XGate() is XGate() The public classes correspond to the standard classes [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") and [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"), respectively, and are subclasses of these. - + A base class to use for [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") objects that by default are singleton instances. - This class should be used for instruction classes that have fixed definitions and do not contain any unique state. The canonical example of something like this is [`Measure`](qiskit.circuit.library.Measure "qiskit.circuit.library.Measure") which has an immutable definition and any instance of [`Measure`](qiskit.circuit.library.Measure "qiskit.circuit.library.Measure") is the same. Using singleton instructions as a base class for these types of gate classes provides a large advantage in the memory footprint of multiple instructions. + This class should be used for instruction classes that have fixed definitions and do not contain any unique state. The canonical example of something like this is [`Measure`](circuit#qiskit.circuit.Measure "qiskit.circuit.Measure") which has an immutable definition and any instance of [`Measure`](circuit#qiskit.circuit.Measure "qiskit.circuit.Measure") is the same. Using singleton instructions as a base class for these types of gate classes provides a large advantage in the memory footprint of multiple instructions. The exception to be aware of with this class though are the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") attributes [`label`](qiskit.circuit.Instruction#label "qiskit.circuit.Instruction.label"), [`condition`](qiskit.circuit.Instruction#condition "qiskit.circuit.Instruction.condition"), [`duration`](qiskit.circuit.Instruction#duration "qiskit.circuit.Instruction.duration"), and [`unit`](qiskit.circuit.Instruction#unit "qiskit.circuit.Instruction.unit") which can be set differently for specific instances of gates. For [`SingletonInstruction`](#qiskit.circuit.singleton.SingletonInstruction "qiskit.circuit.singleton.SingletonInstruction") usage to be sound setting these attributes is not available and they can only be set at creation time, or on an object that has been specifically made mutable using [`to_mutable()`](qiskit.circuit.Instruction#to_mutable "qiskit.circuit.Instruction.to_mutable"). If any of these attributes are used during creation, then instead of using a single shared global instance of the same gate a new separate instance will be created. - + A base class to use for [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") objects that by default are singleton instances. This class is very similar to [`SingletonInstruction`](#qiskit.circuit.singleton.SingletonInstruction "qiskit.circuit.singleton.SingletonInstruction"), except implies unitary [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") semantics as well. The same caveats around setting attributes in that class apply here as well. - + A base class to use for [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate") objects that by default are singleton instances This class is very similar to [`SingletonInstruction`](#qiskit.circuit.singleton.SingletonInstruction "qiskit.circuit.singleton.SingletonInstruction"), except implies unitary [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate") semantics as well. The same caveats around setting attributes in that class apply here as well. @@ -120,7 +120,7 @@ Subclasses of [`SingletonInstruction`](#qiskit.circuit.singleton.SingletonInstru ### \_singleton\_lookup\_key - + Given the arguments to the constructor, return a key tuple that identifies the singleton instance to retrieve, or `None` if the arguments imply that a mutable object must be created. For performance, as a special case, this method will not be called if the class constructor was given zero arguments (e.g. the construction `XGate()` will not call this method, but `XGate(label=None)` will), and the default singleton will immediately be returned. diff --git a/docs/api/qiskit/dev/compiler.mdx b/docs/api/qiskit/dev/compiler.mdx index 033ab0ddd58..043e42ab918 100644 --- a/docs/api/qiskit/dev/compiler.mdx +++ b/docs/api/qiskit/dev/compiler.mdx @@ -22,7 +22,7 @@ python_api_name: qiskit.compiler ### assemble - + Assemble a list of circuits or pulse schedules into a `Qobj`. This function serializes the payloads, which could be either circuits or schedules, to create `Qobj` “experiments”. It further annotates the experiment payload with header and configurations. @@ -66,7 +66,7 @@ python_api_name: qiskit.compiler * `single` returns information from every shot. * `avg` returns average measurement output (averaged over number of shots). - * **meas\_map** ([*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.12)")*\[*[*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit")*]] | None*) – List of lists, containing qubits that must be measured together. + * **meas\_map** ([*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.12)")*\[*[*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit")*]] | None*) – List of lists, containing qubits that must be measured together. * **memory\_slot\_size** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – Size of each memory slot if the output is Level 0. @@ -103,7 +103,7 @@ python_api_name: qiskit.compiler ### schedule - + Schedule a circuit to a pulse `Schedule`, using the backend, according to any specified methods. Supported methods are documented in `qiskit.scheduler.schedule_circuit`. **Parameters** @@ -130,10 +130,22 @@ python_api_name: qiskit.compiler ### transpile - + Transpile one or more circuits, according to some desired transpilation targets. - Transpilation is potentially done in parallel using multiprocessing when `circuits` is a list with > 1 [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") object depending on the local environment and configuration. + Transpilation is potentially done in parallel using multiprocessing when `circuits` is a list with > 1 [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") object, depending on the local environment and configuration. + + The prioritization of transpilation target constraints works as follows: if a `target` input is provided, it will take priority over any `backend` input or loose constraints (`basis_gates`, `inst_map`, `coupling_map`, `backend_properties`, `instruction_durations`, `dt` or `timing_constraints`). If a `backend` is provided together with any loose constraint from the list above, the loose constraint will take priority over the corresponding backend constraint. This behavior is independent of whether the `backend` instance is of type [`BackendV1`](qiskit.providers.BackendV1 "qiskit.providers.BackendV1") or [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2"), as summarized in the table below. The first column in the table summarizes the potential user-provided constraints, and each cell shows whether the priority is assigned to that specific constraint input or another input (target/backend(V1)/backend(V2)). + + | User Provided | target | backend(V1) | backend(V2) | + | -------------------------- | ------ | ---------------------- | ---------------------- | + | **basis\_gates** | target | basis\_gates | basis\_gates | + | **coupling\_map** | target | coupling\_map | coupling\_map | + | **instruction\_durations** | target | instruction\_durations | instruction\_durations | + | **inst\_map** | target | inst\_map | inst\_map | + | **dt** | target | dt | dt | + | **timing\_constraints** | target | timing\_constraints | timing\_constraints | + | **backend\_properties** | target | backend\_properties | backend\_properties | **Parameters** @@ -278,7 +290,7 @@ python_api_name: qiskit.compiler ### sequence - + Schedule a scheduled circuit to a pulse `Schedule`, using the backend. **Parameters** diff --git a/docs/api/qiskit/dev/converters.mdx b/docs/api/qiskit/dev/converters.mdx index db45c72409e..1a19198229f 100644 --- a/docs/api/qiskit/dev/converters.mdx +++ b/docs/api/qiskit/dev/converters.mdx @@ -20,15 +20,15 @@ python_api_name: qiskit.converters ### circuit\_to\_dag - + Build a [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") object from a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). **Parameters** * **circuit** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – the input circuit. * **copy\_operations** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Deep copy the operation objects in the [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") for the output [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit"). This should only be set to `False` if the input [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") will not be used anymore as the operations in the output [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") will be shared instances and modifications to operations in the [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") will be reflected in the [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") (and vice versa). - * **qubit\_order** (*Iterable\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*] or None*) – the order that the qubits should be indexed in the output DAG. Defaults to the same order as in the circuit. - * **clbit\_order** (*Iterable\[*[*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*] or None*) – the order that the clbits should be indexed in the output DAG. Defaults to the same order as in the circuit. + * **qubit\_order** (*Iterable\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*] or None*) – the order that the qubits should be indexed in the output DAG. Defaults to the same order as in the circuit. + * **clbit\_order** (*Iterable\[*[*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*] or None*) – the order that the clbits should be indexed in the output DAG. Defaults to the same order as in the circuit. **Returns** @@ -62,7 +62,7 @@ python_api_name: qiskit.converters ### dag\_to\_circuit - + Build a `QuantumCircuit` object from a `DAGCircuit`. **Parameters** @@ -104,7 +104,7 @@ python_api_name: qiskit.converters ### circuit\_to\_instruction - + Build an [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") object from a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). The instruction is anonymous (not tied to a named quantum register), and so can be inserted into another circuit. The instruction will have the same string name as the circuit. @@ -147,7 +147,7 @@ python_api_name: qiskit.converters ### circuit\_to\_gate - + Build a [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate") object from a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). The gate is anonymous (not tied to a named quantum register), and so can be inserted into another circuit. The gate will have the same string name as the circuit. @@ -174,7 +174,7 @@ python_api_name: qiskit.converters ### dagdependency\_to\_circuit - + Build a `QuantumCircuit` object from a `DAGDependency`. **Parameters** @@ -192,7 +192,7 @@ python_api_name: qiskit.converters ### circuit\_to\_dagdependency - + Build a `DAGDependency` object from a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). **Parameters** @@ -211,7 +211,7 @@ python_api_name: qiskit.converters ### dag\_to\_dagdependency - + Build a `DAGDependency` object from a `DAGCircuit`. **Parameters** @@ -230,7 +230,7 @@ python_api_name: qiskit.converters ### dagdependency\_to\_dag - + Build a `DAGCircuit` object from a `DAGDependency`. **Parameters** diff --git a/docs/api/qiskit/dev/dagcircuit.mdx b/docs/api/qiskit/dev/dagcircuit.mdx index 63942dd3887..ba842c943e2 100644 --- a/docs/api/qiskit/dev/dagcircuit.mdx +++ b/docs/api/qiskit/dev/dagcircuit.mdx @@ -34,7 +34,7 @@ python_api_name: qiskit.dagcircuit ### DAGCircuitError - + Base class for errors raised by the DAGCircuit object. Set the error message. @@ -42,7 +42,7 @@ python_api_name: qiskit.dagcircuit ### DAGDependencyError - + Base class for errors raised by the DAGDependency object. Set the error message. diff --git a/docs/api/qiskit/dev/exceptions.mdx b/docs/api/qiskit/dev/exceptions.mdx index 7cce12fc208..ba85b5cdeda 100644 --- a/docs/api/qiskit/dev/exceptions.mdx +++ b/docs/api/qiskit/dev/exceptions.mdx @@ -24,7 +24,7 @@ All Qiskit-related exceptions raised by Qiskit are subclasses of the base: ### QiskitError - + Base class for errors raised by Qiskit. Set the error message. @@ -40,7 +40,7 @@ Qiskit has several optional features that depend on other packages that are not ### MissingOptionalLibraryError - + Raised when an optional library is missing. Set the error message. :param libname: Name of missing library :param name: Name of class, function, module that uses this library :param pip\_install: pip install command, if any :param msg: Descriptive message, if any @@ -50,7 +50,7 @@ Two more uncommon errors relate to failures in reading user-configuration files, ### QiskitUserConfigError - + Raised when an error is encountered reading a user config file. Set the error message. @@ -58,7 +58,7 @@ Two more uncommon errors relate to failures in reading user-configuration files, ### InvalidFileError - + Raised when the file provided is not valid for the specific task. Set the error message. @@ -70,7 +70,7 @@ Some particular features of Qiskit may raise custom warnings. In general, Qiskit ### QiskitWarning - + Common subclass of warnings for Qiskit-specific warnings being raised. @@ -78,7 +78,7 @@ Related to [`MissingOptionalLibraryError`](#qiskit.exceptions.MissingOptionalLib ### OptionalDependencyImportWarning - + Raised when an optional library raises errors during its import. @@ -90,7 +90,7 @@ When experimental features are being used, Qiskit will raise [`ExperimentalWarni ### ExperimentalWarning - + Raised when an experimental feature is being used. diff --git a/docs/api/qiskit/dev/index.mdx b/docs/api/qiskit/dev/index.mdx index 7e20f134155..a9e575c88c3 100644 --- a/docs/api/qiskit/dev/index.mdx +++ b/docs/api/qiskit/dev/index.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit # API Reference -* [Quantum Circuits (`qiskit.circuit`)](circuit) +* [Quantum circuit model (`qiskit.circuit`)](circuit) * [Circuit Library (`qiskit.circuit.library`)](circuit_library) * [Classical expressions (`qiskit.circuit.classical`)](circuit_classical) * [Singleton instructions (`qiskit.circuit.singleton`)](circuit_singleton) diff --git a/docs/api/qiskit/dev/passmanager.mdx b/docs/api/qiskit/dev/passmanager.mdx index c98aef3344d..7a730fdd1e4 100644 --- a/docs/api/qiskit/dev/passmanager.mdx +++ b/docs/api/qiskit/dev/passmanager.mdx @@ -162,7 +162,7 @@ With the pass manager framework, a developer can flexibly customize the optimiza ### PassManagerError - + Pass manager error. Set the error message. diff --git a/docs/api/qiskit/dev/primitives.mdx b/docs/api/qiskit/dev/primitives.mdx index 7fb20956f7c..7bb97659146 100644 --- a/docs/api/qiskit/dev/primitives.mdx +++ b/docs/api/qiskit/dev/primitives.mdx @@ -85,7 +85,7 @@ print(f"The primitive-job finished with result {job_result}") [`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: +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 Blocs). 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. @@ -96,7 +96,7 @@ Running an estimator returns a [`BasePrimitiveJob`](qiskit.primitives.BasePrimit Here is an example of how a sampler is used. ```python -from qiskit.primitives.statevector_sampler import Sampler +from qiskit.primitives import StatevectorSampler as Sampler from qiskit import QuantumCircuit from qiskit.circuit.library import RealAmplitudes @@ -304,12 +304,13 @@ The formal distinction between the Primitives V1 and V2 APIs are the base classe ## Primitives API -### Primitives V2 +### Estimator V2 | | | | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | | [`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. | +| [`BackendEstimatorV2`](qiskit.primitives.BackendEstimatorV2 "qiskit.primitives.BackendEstimatorV2")(\*, backend\[, options]) | Evaluates expectation values for provided quantum circuit and observable combinations | ### Sampler V2 @@ -317,6 +318,7 @@ The formal distinction between the Primitives V1 and V2 APIs are the base classe | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | | [`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. | +| [`BackendSamplerV2`](qiskit.primitives.BackendSamplerV2 "qiskit.primitives.BackendSamplerV2")(\*, backend\[, options]) | Evaluates bitstrings for provided quantum circuits | ### Results V2 diff --git a/docs/api/qiskit/dev/providers.mdx b/docs/api/qiskit/dev/providers.mdx index 0a1ea8fdc73..d4d9f8fecfd 100644 --- a/docs/api/qiskit/dev/providers.mdx +++ b/docs/api/qiskit/dev/providers.mdx @@ -32,7 +32,7 @@ Each minor version release of qiskit-terra **may** increment the version of any To enable providers to have time to adjust to changes in this interface Terra will support multiple versions of each class at once. Given the nature of one version per release the version deprecation policy is a bit more conservative than the standard deprecation policy. Terra will support a provider interface version for a minimum of 3 minor releases or the first release after 6 months from the release that introduced a version, whichever is longer, prior to a potential deprecation. After that the standard deprecation policy will apply to that interface version. This will give providers and users sufficient time to adapt to potential breaking changes in the interface. So for example lets say in 0.19.0 `BackendV2` is introduced and in the 3 months after the release of 0.19.0 we release 0.20.0, 0.21.0, and 0.22.0, then 7 months after 0.19.0 we release 0.23.0. In 0.23.0 we can deprecate BackendV2, and it needs to still be supported and can’t be removed until the deprecation policy completes. -It’s worth pointing out that Terra’s version support policy doesn’t mean providers themselves will have the same support story, they can (and arguably should) update to newer versions as soon as they can, the support window is just for Terra’s supported versions. Part of this lengthy window prior to deprecation is to give providers enough time to do their own deprecation of a potential end user impacting change in a user facing part of the interface prior to bumping their version. For example, let’s say we changed the signature to `Backend.run()` in `BackendV34` in a backwards incompatible way. Before Aer could update its [`AerSimulator`](https://qiskit.github.io/qiskit-aer/stubs/qiskit_aer.AerSimulator.html#qiskit_aer.AerSimulator "(in Qiskit Aer v0.13.3)") class to be based on version 34 they’d need to deprecate the old signature prior to switching over. The changeover for Aer is not guaranteed to be lockstep with Terra so we need to ensure there is a sufficient amount of time for Aer to complete its deprecation cycle prior to removing version 33 (ie making version 34 mandatory/the minimum version). +It’s worth pointing out that Terra’s version support policy doesn’t mean providers themselves will have the same support story, they can (and arguably should) update to newer versions as soon as they can, the support window is just for Terra’s supported versions. Part of this lengthy window prior to deprecation is to give providers enough time to do their own deprecation of a potential end user impacting change in a user facing part of the interface prior to bumping their version. For example, let’s say we changed the signature to `Backend.run()` in `BackendV34` in a backwards incompatible way. Before Aer could update its [`AerSimulator`](https://qiskit.github.io/qiskit-aer/stubs/qiskit_aer.AerSimulator.html#qiskit_aer.AerSimulator "(in Qiskit Aer v0.14.0)") class to be based on version 34 they’d need to deprecate the old signature prior to switching over. The changeover for Aer is not guaranteed to be lockstep with Terra so we need to ensure there is a sufficient amount of time for Aer to complete its deprecation cycle prior to removing version 33 (ie making version 34 mandatory/the minimum version). ## Abstract Classes @@ -77,7 +77,7 @@ It’s worth pointing out that Terra’s version support policy doesn’t mean p ### QiskitBackendNotFoundError - + Base class for errors raised while looking for a backend. Set the error message. @@ -85,7 +85,7 @@ It’s worth pointing out that Terra’s version support policy doesn’t mean p ### BackendPropertyError - + Base class for errors raised while looking for a backend property. Set the error message. @@ -93,7 +93,7 @@ It’s worth pointing out that Terra’s version support policy doesn’t mean p ### JobError - + Base class for errors raised by Jobs. Set the error message. @@ -101,7 +101,7 @@ It’s worth pointing out that Terra’s version support policy doesn’t mean p ### JobTimeoutError - + Base class for timeout errors raised by jobs. Set the error message. @@ -109,7 +109,7 @@ It’s worth pointing out that Terra’s version support policy doesn’t mean p ### BackendConfigurationError - + Base class for errors raised by the BackendConfiguration. Set the error message. @@ -492,8 +492,8 @@ Below is a table of example access patterns in [`BackendV1`](qiskit.providers.Ba | `backend.properties().t1(0)` | `backend.qubit_properties(0).t1` | | | `backend.properties().t2(0)` | `backend.qubit_properties(0).t2` | | | `backend.properties().frequency(0)` | `backend.qubit_properties(0).frequency` | | -| `backend.properties().readout_error(0)` | `backend.target["measure"][(0,)].error` | In [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") the error rate for the [`Measure`](qiskit.circuit.library.Measure "qiskit.circuit.library.Measure") operation on a given qubit is used to model the readout error. However a [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") can implement multiple measurement types and list them separately in a [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target"). | -| `backend.properties().readout_length(0)` | `backend.target["measure"][(0,)].duration` | In [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") the duration for the [`Measure`](qiskit.circuit.library.Measure "qiskit.circuit.library.Measure") operation on a given qubit is used to model the readout length. However, a [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") can implement multiple measurement types and list them separately in a [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target"). | +| `backend.properties().readout_error(0)` | `backend.target["measure"][(0,)].error` | In [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") the error rate for the `Measure` operation on a given qubit is used to model the readout error. However a [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") can implement multiple measurement types and list them separately in a [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target"). | +| `backend.properties().readout_length(0)` | `backend.target["measure"][(0,)].duration` | In [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") the duration for the `Measure` operation on a given qubit is used to model the readout length. However, a [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") can implement multiple measurement types and list them separately in a [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target"). | There is also a [`BackendV2Converter`](qiskit.providers.BackendV2Converter "qiskit.providers.BackendV2Converter") class available that enables you to wrap a [`BackendV1`](qiskit.providers.BackendV1 "qiskit.providers.BackendV1") object with a [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") interface. diff --git a/docs/api/qiskit/dev/providers_fake_provider.mdx b/docs/api/qiskit/dev/providers_fake_provider.mdx index d5849293cb8..be361f9924a 100644 --- a/docs/api/qiskit/dev/providers_fake_provider.mdx +++ b/docs/api/qiskit/dev/providers_fake_provider.mdx @@ -81,7 +81,7 @@ plot_histogram(counts) The V1 fake backends are based on a set of base classes: - + This is a dummy backend just for testing purposes. FakeBackend initializer. @@ -92,7 +92,7 @@ The V1 fake backends are based on a set of base classes: * **time\_alive** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – time to wait before returning result - + A fake OpenQASM backend. FakeBackend initializer. @@ -103,7 +103,7 @@ The V1 fake backends are based on a set of base classes: * **time\_alive** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – time to wait before returning result - + A fake pulse backend. FakeBackend initializer. diff --git a/docs/api/qiskit/dev/pulse.mdx b/docs/api/qiskit/dev/pulse.mdx index 362c0823216..999222d23ca 100644 --- a/docs/api/qiskit/dev/pulse.mdx +++ b/docs/api/qiskit/dev/pulse.mdx @@ -70,7 +70,7 @@ An instruction can be added to a [`Schedule`](qiskit.pulse.Schedule "qiskit.puls These are all instances of the same base class: - + The smallest schedulable unit: a single instruction. It has a fixed duration and specified channels. Instruction initializer. @@ -161,7 +161,7 @@ Novel channel types can often utilize the [`ControlChannel`](qiskit.pulse.channe All channels are children of the same abstract base class: - + Base class of channels. Channels provide a Qiskit-side label for typical quantum control hardware signal channels. The final label -> physical channel mapping is the responsibility of the hardware backend. For instance, `DriveChannel(0)` holds instructions which the backend should map to the signal line driving gate operations on the qubit labeled (indexed) 0. When serialized channels are identified by their serialized name ``. The type of the channel is interpreted from the prefix, and the index often (but not always) maps to the qubit index. All concrete channel classes must have a `prefix` class attribute (and instances of that class have an index attribute). Base classes which have `prefix` set to `None` are prevented from being instantiated. @@ -214,7 +214,7 @@ The alignment transforms define alignment policies of instructions in [`Schedule These are all subtypes of the abstract base class [`AlignmentKind`](#qiskit.pulse.transforms.AlignmentKind "qiskit.pulse.transforms.AlignmentKind"). - + An abstract class for schedule alignment. Create new context. @@ -228,7 +228,7 @@ The canonicalization transforms convert schedules to a form amenable for executi ### add\_implicit\_acquires - + Return a new schedule with implicit acquires from the measurement mapping replaced by explicit ones. @@ -251,7 +251,7 @@ The canonicalization transforms convert schedules to a form amenable for executi ### align\_measures - + Return new schedules where measurements occur at the same physical time. This transformation will align the first [`Acquire`](qiskit.pulse.instructions.Acquire "qiskit.pulse.instructions.Acquire") on every channel to occur at the same time. @@ -318,7 +318,7 @@ The canonicalization transforms convert schedules to a form amenable for executi ### block\_to\_schedule - + Convert `ScheduleBlock` to `Schedule`. **Parameters** @@ -345,7 +345,7 @@ The canonicalization transforms convert schedules to a form amenable for executi ### compress\_pulses - + Optimization pass to replace identical pulses. **Parameters** @@ -363,7 +363,7 @@ The canonicalization transforms convert schedules to a form amenable for executi ### flatten - + Flatten (inline) any called nodes into a Schedule tree with no nested children. **Parameters** @@ -385,7 +385,7 @@ The canonicalization transforms convert schedules to a form amenable for executi ### inline\_subroutines - + Recursively remove call instructions and inline the respective subroutine instructions. Assigned parameter values, which are stored in the parameter table, are also applied. The subroutine is copied before the parameter assignment to avoid mutation problem. @@ -409,7 +409,7 @@ The canonicalization transforms convert schedules to a form amenable for executi ### pad - + Pad the input Schedule with `Delay``s on all unoccupied timeslots until ``schedule.duration` or `until` if not `None`. **Parameters** @@ -435,7 +435,7 @@ The canonicalization transforms convert schedules to a form amenable for executi ### remove\_directives - + Remove directives. **Parameters** @@ -453,7 +453,7 @@ The canonicalization transforms convert schedules to a form amenable for executi ### remove\_trivial\_barriers - + Remove trivial barriers with 0 or 1 channels. **Parameters** @@ -477,7 +477,7 @@ The DAG transforms create DAG representation of input program. This can be used ### block\_to\_dag - + Convert schedule block instruction into DAG. `ScheduleBlock` can be represented as a DAG as needed. For example, equality of two programs are efficiently checked on DAG representation. @@ -535,7 +535,7 @@ A sequence of transformations to generate a target code. ### target\_qobj\_transform - + A basic pulse program transformation for OpenPulse API execution. **Parameters** @@ -752,7 +752,7 @@ The above is just a small taste of what is possible with the builder. See the re ### build - + Create a context manager for launching the imperative pulse builder DSL. To enter a building context and starting building a pulse program: @@ -812,7 +812,7 @@ DriveChannel(0) ### acquire\_channel - + Return `AcquireChannel` for `qubit` on the active builder backend. Examples: @@ -838,7 +838,7 @@ DriveChannel(0) ### control\_channels - + Return `ControlChannel` for `qubit` on the active builder backend. Return the secondary drive channel for the given qubit – typically utilized for controlling multi-qubit interactions. @@ -873,7 +873,7 @@ DriveChannel(0) ### drive\_channel - + Return `DriveChannel` for `qubit` on the active builder backend. Examples: @@ -899,7 +899,7 @@ DriveChannel(0) ### measure\_channel - + Return `MeasureChannel` for `qubit` on the active builder backend. Examples: @@ -958,7 +958,7 @@ drive_sched.draw() ### acquire - + Acquire for a `duration` on a `channel` and store the result in a `register`. Examples: @@ -995,7 +995,7 @@ drive_sched.draw() ### barrier - + Barrier directive for a set of channels and qubits. This directive prevents the compiler from moving instructions across the barrier. Consider the case where we want to enforce that one pulse happens after another on separate channels, this can be done with: @@ -1062,7 +1062,7 @@ drive_sched.draw() ### call - + Call the subroutine within the currently active builder context with arbitrary parameters which will be assigned to the target program. @@ -1231,7 +1231,7 @@ drive_sched.draw() ### delay - + Delay on a `channel` for a `duration`. Examples: @@ -1254,7 +1254,7 @@ drive_sched.draw() ### play - + Play a `pulse` on a `channel`. Examples: @@ -1277,7 +1277,7 @@ drive_sched.draw() ### reference - + Refer to undefined subroutine by string keys. A [`Reference`](qiskit.pulse.instructions.Reference "qiskit.pulse.instructions.Reference") instruction is implicitly created and a schedule can be separately registered to the reference at a later stage. @@ -1302,7 +1302,7 @@ drive_sched.draw() ### set\_frequency - + Set the `frequency` of a pulse `channel`. Examples: @@ -1325,7 +1325,7 @@ drive_sched.draw() ### set\_phase - + Set the `phase` of a pulse `channel`. Examples: @@ -1350,7 +1350,7 @@ drive_sched.draw() ### shift\_frequency - + Shift the `frequency` of a pulse `channel`. Examples: @@ -1373,7 +1373,7 @@ drive_sched.draw() ### shift\_phase - + Shift the `phase` of a pulse `channel`. Examples: @@ -1398,7 +1398,7 @@ drive_sched.draw() ### snapshot - + Simulator snapshot. Examples: @@ -1440,7 +1440,7 @@ pulse_prog.draw() ### align\_equispaced - + Equispaced alignment pulse scheduling context. Pulse instructions within this context are scheduled with the same interval spacing such that the total length of the context block is `duration`. If the total free `duration` cannot be evenly divided by the number of instructions within the context, the modulo is split and then prepended and appended to the returned schedule. Delay instructions are automatically inserted in between pulses. @@ -1486,7 +1486,7 @@ pulse_prog.draw() ### align\_func - + Callback defined alignment pulse scheduling context. Pulse instructions within this context are scheduled at the location specified by arbitrary callback function position that takes integer index and returns the associated fractional location within \[0, 1]. Delay instruction is automatically inserted in between pulses. @@ -1538,7 +1538,7 @@ pulse_prog.draw() ### align\_left - + Left alignment pulse scheduling context. Pulse instructions within this context are scheduled as early as possible by shifting them left to the earliest available time. @@ -1573,7 +1573,7 @@ pulse_prog.draw() ### align\_right - + Right alignment pulse scheduling context. Pulse instructions within this context are scheduled as late as possible by shifting them right to the latest available time. @@ -1608,7 +1608,7 @@ pulse_prog.draw() ### align\_sequential - + Sequential alignment pulse scheduling context. Pulse instructions within this context are scheduled sequentially in time such that no two instructions will be played at the same time. @@ -1643,7 +1643,7 @@ pulse_prog.draw() ### frequency\_offset - + Shift the frequency of inputs channels on entry into context and undo on exit. Examples: @@ -1687,7 +1687,7 @@ pulse_prog.draw() ### phase\_offset - + Shift the phase of input channels on entry into context and undo on exit. Examples: @@ -1741,7 +1741,7 @@ MemorySlot(0) ### measure - + Measure a qubit within the currently active builder context. At the pulse level a measurement is composed of both a stimulus pulse and an acquisition instruction which tells the systems measurement unit to acquire data and process it. We provide this measurement macro to automate the process for you, but if desired full control is still available with [`acquire()`](#qiskit.pulse.builder.acquire "qiskit.pulse.builder.acquire") and [`play()`](#qiskit.pulse.builder.play "qiskit.pulse.builder.play"). @@ -1796,7 +1796,7 @@ MemorySlot(0) ### measure\_all - + Measure all qubits within the currently active builder context. A simple macro function to measure all of the qubits in the device at the same time. This is useful for handling device `meas_map` and single measurement constraints. @@ -1829,7 +1829,7 @@ MemorySlot(0) ### delay\_qubits - + Insert delays on all the `channels.Channel`s that correspond to the input `qubits` at the same time. Examples: @@ -1886,7 +1886,7 @@ There are 1e-06 seconds in 4500 samples. ### active\_backend - + Get the backend of the currently active builder context. **Returns** @@ -1906,7 +1906,7 @@ There are 1e-06 seconds in 4500 samples. ### num\_qubits - + Return number of qubits in the currently active backend. Examples: @@ -1936,7 +1936,7 @@ There are 1e-06 seconds in 4500 samples. ### qubit\_channels - + Returns the set of channels associated with a qubit. Examples: @@ -1970,7 +1970,7 @@ There are 1e-06 seconds in 4500 samples. ### samples\_to\_seconds - + Obtain the time in seconds that will elapse for the input number of samples on the active backend. **Parameters** @@ -1988,7 +1988,7 @@ There are 1e-06 seconds in 4500 samples. ### seconds\_to\_samples - + Obtain the number of samples that will elapse in `seconds` on the active backend. Rounds down. @@ -2016,7 +2016,7 @@ There are 1e-06 seconds in 4500 samples. ### PulseError - + Errors raised by the pulse module. Set the error message. @@ -2024,7 +2024,7 @@ There are 1e-06 seconds in 4500 samples. ### BackendNotSet - + Raised if the builder context does not have a backend. Set the error message. @@ -2032,7 +2032,7 @@ There are 1e-06 seconds in 4500 samples. ### NoActiveBuilder - + Raised if no builder context is active. Set the error message. @@ -2040,7 +2040,7 @@ There are 1e-06 seconds in 4500 samples. ### UnassignedDurationError - + Raised if instruction duration is unassigned. Set the error message. @@ -2048,7 +2048,7 @@ There are 1e-06 seconds in 4500 samples. ### UnassignedReferenceError - + Raised if subroutine is unassigned. Set the error message. diff --git a/docs/api/qiskit/dev/qasm2.mdx b/docs/api/qiskit/dev/qasm2.mdx index 8efd7a34092..f8132a0c82a 100644 --- a/docs/api/qiskit/dev/qasm2.mdx +++ b/docs/api/qiskit/dev/qasm2.mdx @@ -32,7 +32,7 @@ This module contains two public functions, both of which create a [`QuantumCircu ### load - + Parse an OpenQASM 2 program from a file into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). The given path should be ASCII or UTF-8 encoded, and contain the OpenQASM 2 program. **Parameters** @@ -55,7 +55,7 @@ This module contains two public functions, both of which create a [`QuantumCircu ### loads - + Parse an OpenQASM 2 program from a string into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). **Parameters** @@ -83,7 +83,7 @@ Both of these loading functions also take an argument `include_path`, which is a You can extend the quantum components of the OpenQASM 2 language by passing an iterable of information on custom instructions as the argument `custom_instructions`. In files that have compatible definitions for these instructions, the given `constructor` will be used in place of whatever other handling [`qiskit.qasm2`](#module-qiskit.qasm2 "qiskit.qasm2") would have done. These instructions may optionally be marked as `builtin`, which causes them to not require an `opaque` or `gate` declaration, but they will silently ignore a compatible declaration. Either way, it is an error to provide a custom instruction that has a different number of parameters or qubits as a defined instruction in a parsed program. Each element of the argument iterable should be a particular data class: - + Information about a custom instruction that should be defined during the parse. The `name`, `num_params` and `num_qubits` fields are self-explanatory. The `constructor` field should be a callable object with signature `*args -> Instruction`, where each of the `num_params` `args` is a floating-point value. Most of the built-in Qiskit gate classes have this form. @@ -119,7 +119,7 @@ Similar to other serialisation modules in Python, this module offers two public ### dump - + Dump a circuit as an OpenQASM 2 program to a file or stream. **Parameters** @@ -134,7 +134,7 @@ Similar to other serialisation modules in Python, this module offers two public ### dumps - + Export a circuit to an OpenQASM 2 program in a string. **Parameters** @@ -160,7 +160,7 @@ This module defines a generic error type that derives from [`QiskitError`](excep ### QASM2Error - + A general error raised by the OpenQASM 2 interoperation layer. Set the error message. @@ -170,7 +170,7 @@ In cases where the lexer or parser fails due to an invalid OpenQASM 2 file, the ### QASM2ParseError - + An error raised because of a failure to parse an OpenQASM 2 file. Set the error message. @@ -180,7 +180,7 @@ When the exporters fail to export a circuit, likely because it has structure tha ### QASM2ExportError - + An error raised because of a failure to convert a Qiskit object to an OpenQASM 2 form. Set the error message. @@ -470,7 +470,7 @@ In particular, in the legacy importers: The quadruple-controlled $X$ gate., corresponding to [`C4XGate`](qiskit.circuit.library.C4XGate "qiskit.circuit.library.C4XGate"). -* if *any* `opaque` or `gate` definition was given for the name `delay`, they attempt to output a [`Delay`](qiskit.circuit.Delay "qiskit.circuit.Delay") instruction at each call. To function, this expects a definition compatible with `opaque delay(t) q;`, where the time `t` is given in units of `dt`. The importer will raise errors on construction if there was not exactly one parameter and one qubit, or if the parameter is not integer-valued. +* if *any* `opaque` or `gate` definition was given for the name `delay`, they attempt to output a [`Delay`](circuit#qiskit.circuit.Delay "qiskit.circuit.Delay") instruction at each call. To function, this expects a definition compatible with `opaque delay(t) q;`, where the time `t` is given in units of `dt`. The importer will raise errors on construction if there was not exactly one parameter and one qubit, or if the parameter is not integer-valued. * the additional scientific-calculator functions `asin`, `acos` and `atan` are available. diff --git a/docs/api/qiskit/dev/qasm3.mdx b/docs/api/qiskit/dev/qasm3.mdx index 571a99346ae..60e70056d4a 100644 --- a/docs/api/qiskit/dev/qasm3.mdx +++ b/docs/api/qiskit/dev/qasm3.mdx @@ -26,7 +26,7 @@ The high-level functions are simply [`dump()`](#qiskit.qasm3.dump "qiskit.qasm3. ### dump - + Serialize a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") object as an OpenQASM 3 stream to file-like object. **Parameters** @@ -38,7 +38,7 @@ The high-level functions are simply [`dump()`](#qiskit.qasm3.dump "qiskit.qasm3. ### dumps - + Serialize a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") object in an OpenQASM 3 string. **Parameters** @@ -57,7 +57,7 @@ The high-level functions are simply [`dump()`](#qiskit.qasm3.dump "qiskit.qasm3. Both of these exporter functions are single-use wrappers around the main [`Exporter`](#qiskit.qasm3.Exporter "qiskit.qasm3.Exporter") class. For more complex exporting needs, including dumping multiple circuits in a single session, it may be more convenient or faster to use the complete interface. - + QASM3 exporter main class. **Parameters** @@ -90,13 +90,13 @@ Both of these exporter functions are single-use wrappers around the main [`Expor ### dump - + Convert the circuit to OpenQASM 3, dumping the result to a file or text stream. ### dumps - + Convert the circuit to OpenQASM 3, returning the result as a string. @@ -105,7 +105,7 @@ All of these interfaces will raise [`QASM3ExporterError`](#qiskit.qasm3.QASM3Exp ### QASM3ExporterError - + An error raised during running the OpenQASM 3 exporter. Set the error message. @@ -115,7 +115,7 @@ All of these interfaces will raise [`QASM3ExporterError`](#qiskit.qasm3.QASM3Exp The OpenQASM 3 language is still evolving as hardware capabilities improve, so there is no final syntax that Qiskit can reliably target. In order to represent the evolving language, we will sometimes release features before formal standardization, which may need to change as the review process in the OpenQASM 3 design committees progresses. By default, the exporters will only support standardised features of the language. To enable these early-release features, use the `experimental` keyword argument of [`dump()`](#qiskit.qasm3.dump "qiskit.qasm3.dump") and [`dumps()`](#qiskit.qasm3.dumps "qiskit.qasm3.dumps"). The available feature flags are: - + Flags for experimental features that the OpenQASM 3 exporter supports. These are experimental and are more liable to change, because the OpenQASM 3 specification has not formally accepted them yet, so the syntax may not be finalized. @@ -198,18 +198,18 @@ qasm_string = qasm3.dumps(qc, experimental=qasm3.ExperimentalFeatures.SWITCH_CAS Currently only two high-level functions are offered, as Qiskit support for importing from OpenQASM 3 is in its infancy, and the implementation is expected to change significantly. The two functions are [`load()`](#qiskit.qasm3.load "qiskit.qasm3.load") and [`loads()`](#qiskit.qasm3.loads "qiskit.qasm3.loads"), which are direct counterparts of [`dump()`](#qiskit.qasm3.dump "qiskit.qasm3.dump") and [`dumps()`](#qiskit.qasm3.dumps "qiskit.qasm3.dumps"), respectively loading a program indirectly from a named file and directly from a given string. - While we are still in the exploratory release period, to use either function, the package `qiskit_qasm3_import` must be installed. This can be done by installing Qiskit Terra with the `qasm3-import` extra, such as by: + While we are still in the exploratory release period, to use either function, the package `qiskit_qasm3_import` must be installed. This can be done by installing Qiskit with the `qasm3-import` extra, such as by: ```python - pip install qiskit-terra[qasm3-import] + pip install qiskit[qasm3-import] ``` - We expect that this functionality will eventually be merged into core Terra, and no longer require an optional import, but we do not yet have a timeline for this. + We expect that this functionality will eventually be merged into Qiskit, and no longer require an optional import, but we do not yet have a timeline for this. ### load - + Load an OpenQASM 3 program from the file `filename`. **Parameters** @@ -231,7 +231,7 @@ Currently only two high-level functions are offered, as Qiskit support for impor ### loads - + Load an OpenQASM 3 program from the given string. **Parameters** @@ -255,7 +255,7 @@ Both of these two functions raise [`QASM3ImporterError`](#qiskit.qasm3.QASM3Impo ### QASM3ImporterError - + An error raised during the OpenQASM 3 importer. Set the error message. @@ -322,7 +322,7 @@ You can use the experimental interface immediately, with similar functions to th ### load\_experimental - + Load an OpenQASM 3 program from a source file into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). @@ -350,7 +350,7 @@ You can use the experimental interface immediately, with similar functions to th ### loads\_experimental - + Load an OpenQASM 3 program from a string into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). diff --git a/docs/api/qiskit/dev/qiskit.assembler.RunConfig.mdx b/docs/api/qiskit/dev/qiskit.assembler.RunConfig.mdx index 959ed9a9f2c..ba273393c9c 100644 --- a/docs/api/qiskit/dev/qiskit.assembler.RunConfig.mdx +++ b/docs/api/qiskit/dev/qiskit.assembler.RunConfig.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.assembler.RunConfig # RunConfig - + Bases: [`SimpleNamespace`](https://docs.python.org/3/library/types.html#types.SimpleNamespace "(in Python v3.12)") Class for Run Configuration. @@ -67,7 +67,7 @@ python_api_name: qiskit.assembler.RunConfig ### from\_dict - + Create a new RunConfig object from a dictionary. **Parameters** @@ -85,7 +85,7 @@ python_api_name: qiskit.assembler.RunConfig ### to\_dict - + Return a dictionary format representation of the RunConfig **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.AncillaQubit.mdx b/docs/api/qiskit/dev/qiskit.circuit.AncillaQubit.mdx deleted file mode 100644 index 7aa3667ffc6..00000000000 --- a/docs/api/qiskit/dev/qiskit.circuit.AncillaQubit.mdx +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: AncillaQubit -description: API reference for qiskit.circuit.AncillaQubit -in_page_toc_min_heading_level: 1 -python_api_type: class -python_api_name: qiskit.circuit.AncillaQubit ---- - -# AncillaQubit - - - Bases: [`Qubit`](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") - - A qubit used as ancillary qubit. - - Creates a qubit. - - **Parameters** - - * **register** ([*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister")) – Optional. A quantum register containing the bit. - * **index** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – Optional. The index of the bit in its containing register. - - **Raises** - - [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if the provided register is not a valid [`QuantumRegister`](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister") - - diff --git a/docs/api/qiskit/dev/qiskit.circuit.AncillaRegister.mdx b/docs/api/qiskit/dev/qiskit.circuit.AncillaRegister.mdx deleted file mode 100644 index fd3f1949975..00000000000 --- a/docs/api/qiskit/dev/qiskit.circuit.AncillaRegister.mdx +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: AncillaRegister -description: API reference for qiskit.circuit.AncillaRegister -in_page_toc_min_heading_level: 1 -python_api_type: class -python_api_name: qiskit.circuit.AncillaRegister ---- - -# AncillaRegister - - - Bases: [`QuantumRegister`](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") - - Implement an ancilla register. - - Create a new generic register. - - Either the `size` or the `bits` argument must be provided. If `size` is not None, the register will be pre-populated with bits of the correct type. - - **Parameters** - - * **size** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – Optional. The number of bits to include in the register. - * **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – Optional. The name of the register. If not provided, a unique name will be auto-generated from the register type. - * **bits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Bit*](qiskit.circuit.Bit "qiskit.circuit.Bit")*]*) – Optional. A list of Bit() instances to be used to populate the register. - - **Raises** - - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if both the `size` and `bits` arguments are provided, or if neither are. - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `size` is not valid. - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `name` is not a valid name according to the OpenQASM spec. - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `bits` contained duplicated bits. - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `bits` contained bits of an incorrect type. - - ## Attributes - - ### instances\_counter - - - - ### name - - - Get the register name. - - - ### prefix - - - - ### size - - - Get the register size. - - - ## Methods - - ### index - - - Find the index of the provided bit within this register. - - - diff --git a/docs/api/qiskit/dev/qiskit.circuit.AnnotatedOperation.mdx b/docs/api/qiskit/dev/qiskit.circuit.AnnotatedOperation.mdx new file mode 100644 index 00000000000..4c003351ad9 --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.circuit.AnnotatedOperation.mdx @@ -0,0 +1,129 @@ +--- +title: AnnotatedOperation +description: API reference for qiskit.circuit.AnnotatedOperation +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.circuit.AnnotatedOperation +--- + +# AnnotatedOperation + + + Bases: [`Operation`](qiskit.circuit.Operation "qiskit.circuit.operation.Operation") + + Annotated operation. + + Create a new AnnotatedOperation. + + An “annotated operation” allows to add a list of modifiers to the “base” operation. For now, the only supported modifiers are of types [`InverseModifier`](circuit#qiskit.circuit.InverseModifier "qiskit.circuit.InverseModifier"), [`ControlModifier`](circuit#qiskit.circuit.ControlModifier "qiskit.circuit.ControlModifier") and [`PowerModifier`](circuit#qiskit.circuit.PowerModifier "qiskit.circuit.PowerModifier"). + + An annotated operation can be viewed as an extension of [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate") (which also allows adding control to the base operation). However, an important difference is that the circuit definition of an annotated operation is not constructed when the operation is declared, and instead happens during transpilation, specifically during the [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.HighLevelSynthesis") transpiler pass. + + An annotated operation can be also viewed as a “higher-level” or “more abstract” object that can be added to a quantum circuit. This enables writing transpiler optimization passes that make use of this higher-level representation, for instance removing a gate that is immediately followed by its inverse. + + **Parameters** + + * **base\_op** ([*Operation*](qiskit.circuit.Operation "qiskit.circuit.Operation")) – base operation being modified + * **modifiers** (*Union\[Modifier, List\[Modifier]]*) – ordered list of modifiers. Supported modifiers include `InverseModifier`, `ControlModifier` and `PowerModifier`. + + Examples: + + ```python + op1 = AnnotatedOperation(SGate(), [InverseModifier(), ControlModifier(2)]) + + op2_inner = AnnotatedGate(SGate(), InverseModifier()) + op2 = AnnotatedGate(op2_inner, ControlModifier(2)) + ``` + + Both op1 and op2 are semantically equivalent to an `SGate()` which is first inverted and then controlled by 2 qubits. + + ## Attributes + + ### name + + + Unique string identifier for operation type. + + + ### num\_clbits + + + Number of classical bits. + + + ### num\_qubits + + + Number of qubits. + + + ### base\_op + + + The base operation that the modifiers in this annotated operation applies to. + + + ### modifiers + + + Ordered sequence of the modifiers to apply to [`base_op`](#qiskit.circuit.AnnotatedOperation.base_op "qiskit.circuit.AnnotatedOperation.base_op"). The modifiers are applied in order from lowest index to highest index. + + + ## Methods + + ### control + + + Return the controlled version of itself. + + Implemented as an annotated operation, see [`AnnotatedOperation`](#qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). + + **Parameters** + + * **num\_ctrl\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – number of controls to add to gate (default: `1`) + * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – ignored (used for consistency with other control methods) + * **ctrl\_state** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – The control state in decimal or as a bitstring (e.g. `'111'`). If `None`, use `2**num_ctrl_qubits-1`. + * **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – ignored (used for consistency with other control methods) + + **Returns** + + Controlled version of the given operation. + + **Return type** + + [AnnotatedOperation](#qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") + + + ### copy + + + Return a copy of the [`AnnotatedOperation`](#qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). + + **Return type** + + [*AnnotatedOperation*](#qiskit.circuit.AnnotatedOperation "qiskit.circuit.annotated_operation.AnnotatedOperation") + + + ### inverse + + + Return the inverse version of itself. + + Implemented as an annotated operation, see [`AnnotatedOperation`](#qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). + + **Parameters** + + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – ignored (used for consistency with other inverse methods) + + **Returns** + + Inverse version of the given operation. + + + ### to\_matrix + + + Return a matrix representation (allowing to construct Operator). + + + diff --git a/docs/api/qiskit/dev/qiskit.circuit.Bit.mdx b/docs/api/qiskit/dev/qiskit.circuit.Bit.mdx deleted file mode 100644 index 5056f1d058a..00000000000 --- a/docs/api/qiskit/dev/qiskit.circuit.Bit.mdx +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Bit -description: API reference for qiskit.circuit.Bit -in_page_toc_min_heading_level: 1 -python_api_type: class -python_api_name: qiskit.circuit.Bit ---- - -# Bit - - - Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") - - Implement a generic bit. - - - This class should not be instantiated directly. This is just a superclass for [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") and [`Qubit`](qiskit.circuit.Qubit "qiskit.circuit.Qubit"). - - - Create a new generic bit. - - diff --git a/docs/api/qiskit/dev/qiskit.circuit.BreakLoopOp.mdx b/docs/api/qiskit/dev/qiskit.circuit.BreakLoopOp.mdx index 483d290f22e..a8309bad144 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.BreakLoopOp.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.BreakLoopOp.mdx @@ -8,41 +8,16 @@ python_api_name: qiskit.circuit.BreakLoopOp # BreakLoopOp - + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") - A circuit operation which, when encountered, jumps to the end of the nearest enclosing loop. - - **Circuit symbol:** - - ```python - ┌──────────────┐ - q_0: ┤0 ├ - │ │ - q_1: ┤1 ├ - │ break_loop │ - q_2: ┤2 ├ - │ │ - c_0: ╡0 ╞ - └──────────────┘ - ``` - - Create a new instruction. + A circuit operation which, when encountered, jumps to the end of the nearest enclosing loop. Can only be used inside loops. **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. + * **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – the number of qubits this affects. + * **num\_clbits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – the number of qubits this affects. + * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – an optional string label for the instruction. ## Attributes @@ -132,7 +107,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### params - return instruction params. + The parameters of this [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction"). Ideally these will be gate angles. ### unit @@ -145,19 +120,19 @@ python_api_name: qiskit.circuit.BreakLoopOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -176,7 +151,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -186,7 +161,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### copy - + Copy of the instruction. **Parameters** @@ -204,18 +179,18 @@ python_api_name: qiskit.circuit.BreakLoopOp ### inverse - + 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”. + If annotated is True, the inverse instruction is implemented as [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.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`. + **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`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). **Returns** @@ -228,14 +203,16 @@ python_api_name: qiskit.circuit.BreakLoopOp ### is\_parameterized - - Return True .IFF. instruction is parameterized else False + + Return whether the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). ### repeat - - Creates an instruction with gate repeated n amount of times. + + Creates an instruction with `self` repeated :math\`n\` times. + + If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. **Parameters** @@ -256,7 +233,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### 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. @@ -274,7 +251,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### soft\_compare - + 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** @@ -292,7 +269,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### 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. @@ -300,7 +277,7 @@ python_api_name: qiskit.circuit.BreakLoopOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/dev/qiskit.circuit.ClassicalRegister.mdx b/docs/api/qiskit/dev/qiskit.circuit.ClassicalRegister.mdx deleted file mode 100644 index da1d23d1770..00000000000 --- a/docs/api/qiskit/dev/qiskit.circuit.ClassicalRegister.mdx +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: ClassicalRegister -description: API reference for qiskit.circuit.ClassicalRegister -in_page_toc_min_heading_level: 1 -python_api_type: class -python_api_name: qiskit.circuit.ClassicalRegister ---- - -# ClassicalRegister - - - Bases: [`Register`](qiskit.circuit.Register "qiskit.circuit.register.Register") - - Implement a classical register. - - Create a new generic register. - - Either the `size` or the `bits` argument must be provided. If `size` is not None, the register will be pre-populated with bits of the correct type. - - **Parameters** - - * **size** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – Optional. The number of bits to include in the register. - * **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – Optional. The name of the register. If not provided, a unique name will be auto-generated from the register type. - * **bits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Bit*](qiskit.circuit.Bit "qiskit.circuit.Bit")*]*) – Optional. A list of Bit() instances to be used to populate the register. - - **Raises** - - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if both the `size` and `bits` arguments are provided, or if neither are. - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `size` is not valid. - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `name` is not a valid name according to the OpenQASM spec. - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `bits` contained duplicated bits. - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `bits` contained bits of an incorrect type. - - ## Attributes - - ### instances\_counter - - - - ### name - - - Get the register name. - - - ### prefix - - - - ### size - - - Get the register size. - - - ## Methods - - ### index - - - Find the index of the provided bit within this register. - - - diff --git a/docs/api/qiskit/dev/qiskit.circuit.Clbit.mdx b/docs/api/qiskit/dev/qiskit.circuit.Clbit.mdx deleted file mode 100644 index f249f7d5eaa..00000000000 --- a/docs/api/qiskit/dev/qiskit.circuit.Clbit.mdx +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Clbit -description: API reference for qiskit.circuit.Clbit -in_page_toc_min_heading_level: 1 -python_api_type: class -python_api_name: qiskit.circuit.Clbit ---- - -# Clbit - - - Bases: [`Bit`](qiskit.circuit.Bit "qiskit.circuit.bit.Bit") - - Implement a classical bit. - - Creates a classical bit. - - **Parameters** - - * **register** ([*ClassicalRegister*](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister")) – Optional. A classical register containing the bit. - * **index** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – Optional. The index of the bit in its containing register. - - **Raises** - - [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if the provided register is not a valid [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") - - diff --git a/docs/api/qiskit/dev/qiskit.circuit.ContinueLoopOp.mdx b/docs/api/qiskit/dev/qiskit.circuit.ContinueLoopOp.mdx index 97c1f54b15d..fbcccf898d5 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.ContinueLoopOp.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.ContinueLoopOp.mdx @@ -8,45 +8,16 @@ python_api_name: qiskit.circuit.ContinueLoopOp # ContinueLoopOp - + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") - A circuit operation which, when encountered, moves to the next iteration of the nearest enclosing loop. - - - Can be inserted only within the body of a loop op, and must span the full width of that block. - - - **Circuit symbol:** - - ```python - ┌─────────────────┐ - q_0: ┤0 ├ - │ │ - q_1: ┤1 ├ - │ continue_loop │ - q_2: ┤2 ├ - │ │ - c_0: ╡0 ╞ - └─────────────────┘ - ``` - - Create a new instruction. + A circuit operation which, when encountered, moves to the next iteration of the nearest enclosing loop. Can only be used inside loops. **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. + * **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – the number of qubits this affects. + * **num\_clbits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – the number of qubits this affects. + * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – an optional string label for the instruction. ## Attributes @@ -136,7 +107,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### params - return instruction params. + The parameters of this [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction"). Ideally these will be gate angles. ### unit @@ -149,19 +120,19 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -180,7 +151,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -190,7 +161,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### copy - + Copy of the instruction. **Parameters** @@ -208,18 +179,18 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### inverse - + 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”. + If annotated is True, the inverse instruction is implemented as [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.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`. + **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`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). **Returns** @@ -232,14 +203,16 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### is\_parameterized - - Return True .IFF. instruction is parameterized else False + + Return whether the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). ### repeat - - Creates an instruction with gate repeated n amount of times. + + Creates an instruction with `self` repeated :math\`n\` times. + + If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. **Parameters** @@ -260,7 +233,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### 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. @@ -278,7 +251,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### soft\_compare - + 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** @@ -296,7 +269,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### 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. @@ -304,7 +277,7 @@ python_api_name: qiskit.circuit.ContinueLoopOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/dev/qiskit.circuit.ControlFlowOp.mdx b/docs/api/qiskit/dev/qiskit.circuit.ControlFlowOp.mdx index 56ce6b06987..d413cd932a4 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.ControlFlowOp.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.ControlFlowOp.mdx @@ -8,11 +8,13 @@ python_api_name: qiskit.circuit.ControlFlowOp # ControlFlowOp - + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Abstract class to encapsulate all control flow operations. + All subclasses of [`ControlFlowOp`](#qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp") have an internal attribute, [`blocks`](#qiskit.circuit.ControlFlowOp.blocks "qiskit.circuit.ControlFlowOp.blocks"), which exposes the inner subcircuits used in the different blocks of the control flow. + Create a new instruction. **Parameters** @@ -56,7 +58,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### blocks - Tuple of QuantumCircuits which may be executed as part of the execution of this ControlFlowOp. May be parameterized by a loop parameter to be resolved at run time. + Tuple of [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")s which may be executed as part of the execution of this [`ControlFlowOp`](#qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp"). ### condition @@ -124,7 +126,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### params - return instruction params. + The parameters of this [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction"). Ideally these will be gate angles. ### unit @@ -137,19 +139,19 @@ python_api_name: qiskit.circuit.ControlFlowOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -168,7 +170,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -178,7 +180,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### copy - + Copy of the instruction. **Parameters** @@ -196,18 +198,18 @@ python_api_name: qiskit.circuit.ControlFlowOp ### inverse - + 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”. + If annotated is True, the inverse instruction is implemented as [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.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`. + **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`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). **Returns** @@ -220,14 +222,16 @@ python_api_name: qiskit.circuit.ControlFlowOp ### is\_parameterized - - Return True .IFF. instruction is parameterized else False + + Return whether the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). ### repeat - - Creates an instruction with gate repeated n amount of times. + + Creates an instruction with `self` repeated :math\`n\` times. + + If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. **Parameters** @@ -248,12 +252,33 @@ python_api_name: qiskit.circuit.ControlFlowOp ### replace\_blocks - - Replace blocks and return new instruction. :param blocks: Tuple of QuantumCircuits to replace in instruction. + + Return a new version of this control-flow operations with the [`blocks`](#qiskit.circuit.ControlFlowOp.blocks "qiskit.circuit.ControlFlowOp.blocks") mapped to the given new ones. + + Typically this is used in a workflow such as: + + ```python + existing_op = ... + + def map_block(block: QuantumCircuit) -> QuantumCircuit: + new_block = block.copy_empty_like() + # ... do something to `new_block` ... + return new_block + + new_op = existing_op.replace_blocks( + map_block(block) for block in existing_op.blocks + ) + ``` + + It is the caller’s responsibility to ensure that the mapped blocks are defined over a unified set of circuit resources, much like constructing a [`ControlFlowOp`](#qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp") using its default constructor. + + **Parameters** + + **blocks** ([*Iterable*](https://docs.python.org/3/library/typing.html#typing.Iterable "(in Python v3.12)")*\[*[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*]*) – the new subcircuit blocks to use. **Returns** - New ControlFlowOp with replaced blocks. + New [`ControlFlowOp`](#qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp") with replaced blocks. **Return type** @@ -262,7 +287,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### 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. @@ -280,7 +305,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### soft\_compare - + 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** @@ -298,7 +323,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### 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. @@ -306,7 +331,7 @@ python_api_name: qiskit.circuit.ControlFlowOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/dev/qiskit.circuit.ControlledGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.ControlledGate.mdx index 85c27448b16..a226f55d9ec 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.ControlledGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.ControlledGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.ControlledGate # ControlledGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Controlled unitary gate. @@ -116,7 +116,7 @@ python_api_name: qiskit.circuit.ControlledGate ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.ControlledGate.ctrl_state "qiskit.circuit.ControlledGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -203,19 +203,19 @@ python_api_name: qiskit.circuit.ControlledGate ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation and handling of the arguments and its relationship. For example, `cx([q[0],q[1]], q[2])` means `cx(q[0], q[2]); cx(q[1], q[2])`. This method yields the arguments in the right grouping. In the given example: @@ -268,7 +268,7 @@ python_api_name: qiskit.circuit.ControlledGate ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -278,10 +278,10 @@ python_api_name: qiskit.circuit.ControlledGate ### control - + Return the controlled version of itself. - Implemented either as a controlled gate (ref. [`ControlledGate`](#qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate")) or as an annotated operation (ref. `AnnotatedOperation`). + Implemented either as a controlled gate (ref. [`ControlledGate`](#qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate")) or as an annotated operation (ref. [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation")). **Parameters** @@ -301,7 +301,7 @@ python_api_name: qiskit.circuit.ControlledGate ### copy - + Copy of the instruction. **Parameters** @@ -319,7 +319,7 @@ python_api_name: qiskit.circuit.ControlledGate ### inverse - + Invert this gate by calling inverse on the base gate. **Return type** @@ -329,13 +329,13 @@ python_api_name: qiskit.circuit.ControlledGate ### is\_parameterized - - Return True .IFF. instruction is parameterized else False + + Return whether the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). ### power - + Creates a unitary gate as gate^exponent. **Parameters** @@ -357,8 +357,10 @@ python_api_name: qiskit.circuit.ControlledGate ### repeat - - Creates an instruction with gate repeated n amount of times. + + Creates an instruction with `self` repeated :math\`n\` times. + + If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. **Parameters** @@ -379,7 +381,7 @@ python_api_name: qiskit.circuit.ControlledGate ### 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. @@ -397,7 +399,7 @@ python_api_name: qiskit.circuit.ControlledGate ### soft\_compare - + 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** @@ -415,7 +417,7 @@ python_api_name: qiskit.circuit.ControlledGate ### to\_matrix - + Return a Numpy.array for the gate unitary matrix. **Returns** @@ -433,7 +435,7 @@ python_api_name: qiskit.circuit.ControlledGate ### 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. @@ -441,7 +443,7 @@ python_api_name: qiskit.circuit.ControlledGate ### validate\_parameter - + Gate parameters should be int, float, or ParameterExpression diff --git a/docs/api/qiskit/dev/qiskit.circuit.Delay.mdx b/docs/api/qiskit/dev/qiskit.circuit.Delay.mdx deleted file mode 100644 index 387991a1a44..00000000000 --- a/docs/api/qiskit/dev/qiskit.circuit.Delay.mdx +++ /dev/null @@ -1,308 +0,0 @@ ---- -title: Delay -description: API reference for qiskit.circuit.Delay -in_page_toc_min_heading_level: 1 -python_api_type: class -python_api_name: qiskit.circuit.Delay ---- - -# Delay - - - Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") - - Do nothing and just delay/wait/idle for a specified duration. - - Create new delay instruction. - - ## 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.Delay.base_class "qiskit.circuit.Delay.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 of this delay. - - - ### label - - - Return instruction label - - - ### 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. - - - ### unit - - - Get the time unit of duration. - - - ## Methods - - ### add\_decomposition - - - Add a decomposition of the instruction to the SessionEquivalenceLibrary. - - - ### assemble - - - Assemble a QasmQobjInstruction - - - ### broadcast\_arguments - - - Validation and handling of the arguments and its relationship. - - For example, `cx([q[0],q[1]], q[2])` means `cx(q[0], q[2]); cx(q[1], q[2])`. This method yields the arguments in the right grouping. In the given example: - - ```python - in: [[q[0],q[1]], q[2]],[] - outs: [q[0], q[2]], [] - [q[1], q[2]], [] - ``` - - The general broadcasting rules are: - - > * If len(qargs) == 1: - > - > ```python - > [q[0], q[1]] -> [q[0]],[q[1]] - > ``` - > - > * If len(qargs) == 2: - > - > ```python - > [[q[0], q[1]], [r[0], r[1]]] -> [q[0], r[0]], [q[1], r[1]] - > [[q[0]], [r[0], r[1]]] -> [q[0], r[0]], [q[0], r[1]] - > [[q[0], q[1]], [r[0]]] -> [q[0], r[0]], [q[1], r[0]] - > ``` - > - > * If len(qargs) >= 3: - > - > ```python - > [q[0], q[1]], [r[0], r[1]], ...] -> [q[0], r[0], ...], [q[1], r[1], ...] - > ``` - - **Parameters** - - * **qargs** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – List of quantum bit arguments. - * **cargs** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – List of classical bit arguments. - - **Returns** - - 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. - - **Return type** - - [*Iterable*](https://docs.python.org/3/library/typing.html#typing.Iterable "(in Python v3.12)")\[[tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")\[[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)")]] - - - ### c\_if - - - 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 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 - - - Special case. Return self. - - - ### is\_parameterized - - - Return True .IFF. instruction is parameterized else False - - - ### repeat - - - 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 - - - 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 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\_matrix - - - Return a Numpy.array for the unitary matrix. This has been added to enable simulation without making delay a full Gate type. - - **Returns** - - matrix representation. - - **Return type** - - np.ndarray - - - ### 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 - - - Delay parameter (i.e. duration) must be int, float or ParameterExpression. - - - diff --git a/docs/api/qiskit/dev/qiskit.circuit.EquivalenceLibrary.mdx b/docs/api/qiskit/dev/qiskit.circuit.EquivalenceLibrary.mdx index 464ccbbd7ce..e0437951e4f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.EquivalenceLibrary.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.EquivalenceLibrary.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.EquivalenceLibrary # EquivalenceLibrary - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A library providing a one-way mapping of Gates to their equivalent implementations as QuantumCircuits. @@ -41,7 +41,7 @@ python_api_name: qiskit.circuit.EquivalenceLibrary ### add\_equivalence - + Add a new equivalence to the library. Future queries for the Gate will include the given circuit, in addition to all existing equivalences (including those from base). Parameterized Gates (those including qiskit.circuit.Parameters in their Gate.params) can be marked equivalent to parameterized circuits, provided the parameters match. @@ -54,7 +54,7 @@ python_api_name: qiskit.circuit.EquivalenceLibrary ### draw - + Draws the equivalence relations available in the library. **Parameters** @@ -78,7 +78,7 @@ python_api_name: qiskit.circuit.EquivalenceLibrary ### get\_entry - + Gets the set of QuantumCircuits circuits from the library which equivalently implement the given Gate. Parameterized circuits will have their parameters replaced with the corresponding entries from Gate.params. @@ -102,7 +102,7 @@ python_api_name: qiskit.circuit.EquivalenceLibrary ### has\_entry - + Check if a library contains any decompositions for gate. **Parameters** @@ -122,7 +122,7 @@ python_api_name: qiskit.circuit.EquivalenceLibrary ### keys - + Return list of keys to key to node index map. **Returns** @@ -136,7 +136,7 @@ python_api_name: qiskit.circuit.EquivalenceLibrary ### node\_index - + Return node index for a given key. **Parameters** @@ -154,7 +154,7 @@ python_api_name: qiskit.circuit.EquivalenceLibrary ### set\_entry - + Set the equivalence record for a Gate. Future queries for the Gate will return only the circuits provided. Parameterized Gates (those including qiskit.circuit.Parameters in their Gate.params) can be marked equivalent to parameterized circuits, provided the parameters match. diff --git a/docs/api/qiskit/dev/qiskit.circuit.ForLoopOp.mdx b/docs/api/qiskit/dev/qiskit.circuit.ForLoopOp.mdx index c9345a9780d..40fee183a1a 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.ForLoopOp.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.ForLoopOp.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.ForLoopOp # ForLoopOp - + Bases: [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.controlflow.control_flow.ControlFlowOp") A circuit operation which repeatedly executes a subcircuit (`body`) parameterized by a parameter `loop_parameter` through the set of integer values provided in `indexset`. @@ -20,37 +20,6 @@ python_api_name: qiskit.circuit.ForLoopOp * **body** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – The loop body to be repeatedly executed. * **label** (*Optional\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*]*) – An optional label for identifying the instruction. - **Circuit symbol:** - - ```python - ┌───────────┐ - q_0: ┤0 ├ - │ │ - q_1: ┤1 ├ - │ for_loop │ - q_2: ┤2 ├ - │ │ - c_0: ╡0 ╞ - └───────────┘ - ``` - - 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 @@ -154,19 +123,19 @@ python_api_name: qiskit.circuit.ForLoopOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -185,7 +154,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -195,7 +164,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### copy - + Copy of the instruction. **Parameters** @@ -213,18 +182,18 @@ python_api_name: qiskit.circuit.ForLoopOp ### inverse - + 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”. + If annotated is True, the inverse instruction is implemented as [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.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`. + **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`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). **Returns** @@ -237,14 +206,16 @@ python_api_name: qiskit.circuit.ForLoopOp ### is\_parameterized - - Return True .IFF. instruction is parameterized else False + + Return whether the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). ### repeat - - Creates an instruction with gate repeated n amount of times. + + Creates an instruction with `self` repeated :math\`n\` times. + + If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. **Parameters** @@ -265,17 +236,38 @@ python_api_name: qiskit.circuit.ForLoopOp ### replace\_blocks - - Replace blocks and return new instruction. :param blocks: Tuple of QuantumCircuits to replace in instruction. + + Return a new version of this control-flow operations with the [`blocks`](#qiskit.circuit.ForLoopOp.blocks "qiskit.circuit.ForLoopOp.blocks") mapped to the given new ones. + + Typically this is used in a workflow such as: + + ```python + existing_op = ... + + def map_block(block: QuantumCircuit) -> QuantumCircuit: + new_block = block.copy_empty_like() + # ... do something to `new_block` ... + return new_block + + new_op = existing_op.replace_blocks( + map_block(block) for block in existing_op.blocks + ) + ``` + + It is the caller’s responsibility to ensure that the mapped blocks are defined over a unified set of circuit resources, much like constructing a [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp") using its default constructor. + + **Parameters** + + **blocks** – the new subcircuit blocks to use. **Returns** - New ControlFlowOp with replaced blocks. + New [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp") with replaced blocks. ### 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. @@ -293,7 +285,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### soft\_compare - + 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** @@ -311,7 +303,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### 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. @@ -319,7 +311,7 @@ python_api_name: qiskit.circuit.ForLoopOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/dev/qiskit.circuit.Gate.mdx b/docs/api/qiskit/dev/qiskit.circuit.Gate.mdx index 4e1ef331770..8dcdd7ac0cb 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.Gate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.Gate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.Gate # Gate - + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") Unitary gate. @@ -110,7 +110,7 @@ python_api_name: qiskit.circuit.Gate ### params - return instruction params. + The parameters of this [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction"). Ideally these will be gate angles. ### unit @@ -123,19 +123,19 @@ python_api_name: qiskit.circuit.Gate ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation and handling of the arguments and its relationship. For example, `cx([q[0],q[1]], q[2])` means `cx(q[0], q[2]); cx(q[1], q[2])`. This method yields the arguments in the right grouping. In the given example: @@ -188,7 +188,7 @@ python_api_name: qiskit.circuit.Gate ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -198,10 +198,10 @@ python_api_name: qiskit.circuit.Gate ### control - + Return the controlled version of itself. - Implemented either as a controlled gate (ref. [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate")) or as an annotated operation (ref. `AnnotatedOperation`). + Implemented either as a controlled gate (ref. [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate")) or as an annotated operation (ref. [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation")). **Parameters** @@ -221,7 +221,7 @@ python_api_name: qiskit.circuit.Gate ### copy - + Copy of the instruction. **Parameters** @@ -239,18 +239,18 @@ python_api_name: qiskit.circuit.Gate ### inverse - + 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”. + If annotated is True, the inverse instruction is implemented as [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.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`. + **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`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). **Returns** @@ -263,13 +263,13 @@ python_api_name: qiskit.circuit.Gate ### is\_parameterized - - Return True .IFF. instruction is parameterized else False + + Return whether the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). ### power - + Creates a unitary gate as gate^exponent. **Parameters** @@ -291,8 +291,10 @@ python_api_name: qiskit.circuit.Gate ### repeat - - Creates an instruction with gate repeated n amount of times. + + Creates an instruction with `self` repeated :math\`n\` times. + + If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. **Parameters** @@ -313,7 +315,7 @@ python_api_name: qiskit.circuit.Gate ### 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. @@ -331,7 +333,7 @@ python_api_name: qiskit.circuit.Gate ### soft\_compare - + 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** @@ -349,7 +351,7 @@ python_api_name: qiskit.circuit.Gate ### to\_matrix - + Return a Numpy.array for the gate unitary matrix. **Returns** @@ -367,7 +369,7 @@ python_api_name: qiskit.circuit.Gate ### 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. @@ -375,7 +377,7 @@ python_api_name: qiskit.circuit.Gate ### validate\_parameter - + Gate parameters should be int, float, or ParameterExpression diff --git a/docs/api/qiskit/dev/qiskit.circuit.IfElseOp.mdx b/docs/api/qiskit/dev/qiskit.circuit.IfElseOp.mdx index 1c9d701a682..2a99edbf5b4 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.IfElseOp.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.IfElseOp.mdx @@ -8,52 +8,21 @@ python_api_name: qiskit.circuit.IfElseOp # IfElseOp - + Bases: [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.controlflow.control_flow.ControlFlowOp") 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. - **Parameters** - - * **condition** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*ClassicalRegister*](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister")*,* [*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)")*\[*[*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*,* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*] |* [*expr.Expr*](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr")) – A condition to be evaluated at circuit runtime which, if true, will trigger the evaluation of `true_body`. Can be specified as either a tuple of a `ClassicalRegister` to be tested for equality with a given `int`, or as a tuple of a `Clbit` to be compared to either a `bool` or an `int`. - * **true\_body** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – A program to be executed if `condition` evaluates to true. - * **false\_body** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") *| None*) – A optional program to be executed if `condition` evaluates to false. - * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – An optional label for identifying the instruction. - If provided, `false_body` must be of the same `num_qubits` and `num_clbits` as `true_body`. The classical bits used in `condition` must be a subset of those attached to the circuit on which this `IfElseOp` will be appended. - **Circuit symbol:** - - ```python - ┌───────────┐ - q_0: ┤0 ├ - │ │ - q_1: ┤1 ├ - │ if_else │ - q_2: ┤2 ├ - │ │ - c_0: ╡0 ╞ - └───────────┘ - ``` - - 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. + * **condition** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*ClassicalRegister*](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister")*,* [*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)")*\[*[*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*,* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*] |* [*expr.Expr*](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr")) – A condition to be evaluated in real time during circuit execution which, if true, will trigger the evaluation of `true_body`. Can be specified as either a tuple of a `ClassicalRegister` to be tested for equality with a given `int`, or as a tuple of a `Clbit` to be compared to either a `bool` or an `int`. + * **true\_body** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – A program to be executed if `condition` evaluates to true. + * **false\_body** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") *| None*) – A optional program to be executed if `condition` evaluates to false. + * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – An optional label for identifying the instruction. ## Attributes @@ -158,19 +127,19 @@ python_api_name: qiskit.circuit.IfElseOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -189,7 +158,7 @@ python_api_name: qiskit.circuit.IfElseOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -199,7 +168,7 @@ python_api_name: qiskit.circuit.IfElseOp ### copy - + Copy of the instruction. **Parameters** @@ -217,18 +186,18 @@ python_api_name: qiskit.circuit.IfElseOp ### inverse - + 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”. + If annotated is True, the inverse instruction is implemented as [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.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`. + **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`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). **Returns** @@ -241,14 +210,16 @@ python_api_name: qiskit.circuit.IfElseOp ### is\_parameterized - - Return True .IFF. instruction is parameterized else False + + Return whether the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). ### repeat - - Creates an instruction with gate repeated n amount of times. + + Creates an instruction with `self` repeated :math\`n\` times. + + If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. **Parameters** @@ -269,7 +240,7 @@ python_api_name: qiskit.circuit.IfElseOp ### replace\_blocks - + Replace blocks and return new instruction. **Parameters** @@ -287,7 +258,7 @@ python_api_name: qiskit.circuit.IfElseOp ### 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. @@ -305,7 +276,7 @@ python_api_name: qiskit.circuit.IfElseOp ### soft\_compare - + 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** @@ -323,7 +294,7 @@ python_api_name: qiskit.circuit.IfElseOp ### 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. @@ -331,7 +302,7 @@ python_api_name: qiskit.circuit.IfElseOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/dev/qiskit.circuit.Instruction.mdx b/docs/api/qiskit/dev/qiskit.circuit.Instruction.mdx index 2b03d39ae53..b8b339f6d5b 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.Instruction.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.Instruction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.Instruction # Instruction - + Bases: [`Operation`](qiskit.circuit.Operation "qiskit.circuit.operation.Operation") Generic quantum instruction. @@ -118,7 +118,7 @@ python_api_name: qiskit.circuit.Instruction ### params - return instruction params. + The parameters of this [`Instruction`](#qiskit.circuit.Instruction "qiskit.circuit.Instruction"). Ideally these will be gate angles. ### unit @@ -131,19 +131,19 @@ python_api_name: qiskit.circuit.Instruction ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -162,7 +162,7 @@ python_api_name: qiskit.circuit.Instruction ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -172,7 +172,7 @@ python_api_name: qiskit.circuit.Instruction ### copy - + Copy of the instruction. **Parameters** @@ -190,18 +190,18 @@ python_api_name: qiskit.circuit.Instruction ### inverse - + 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”. + If annotated is True, the inverse instruction is implemented as [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.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`. + **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`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). **Returns** @@ -214,14 +214,16 @@ python_api_name: qiskit.circuit.Instruction ### is\_parameterized - - Return True .IFF. instruction is parameterized else False + + Return whether the [`Instruction`](#qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). ### repeat - - Creates an instruction with gate repeated n amount of times. + + Creates an instruction with `self` repeated :math\`n\` times. + + If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. **Parameters** @@ -242,7 +244,7 @@ python_api_name: qiskit.circuit.Instruction ### 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. @@ -260,7 +262,7 @@ python_api_name: qiskit.circuit.Instruction ### soft\_compare - + 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** @@ -278,7 +280,7 @@ python_api_name: qiskit.circuit.Instruction ### 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. @@ -286,7 +288,7 @@ python_api_name: qiskit.circuit.Instruction ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/dev/qiskit.circuit.InstructionSet.mdx b/docs/api/qiskit/dev/qiskit.circuit.InstructionSet.mdx index 4261e4c216f..7c5a6afa8cc 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.InstructionSet.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.InstructionSet.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.InstructionSet # InstructionSet - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Instruction collection, and their contexts. @@ -19,9 +19,9 @@ python_api_name: qiskit.circuit.InstructionSet **Parameters** - **resource\_requester** (*Callable\[...,* [*ClassicalRegister*](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") *|*[*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*] | None*) – + **resource\_requester** (*Callable\[...,* [*ClassicalRegister*](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") *|*[*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*] | None*) – - A callable that takes in the classical resource used in the condition, verifies that it is present in the attached circuit, resolves any indices into concrete [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") instances, and returns the concrete resource. If this is not given, specifying a condition with an index is forbidden, and all concrete [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") and [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") resources will be assumed to be valid. + A callable that takes in the classical resource used in the condition, verifies that it is present in the attached circuit, resolves any indices into concrete [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") instances, and returns the concrete resource. If this is not given, specifying a condition with an index is forbidden, and all concrete [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") and [`ClassicalRegister`](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") resources will be assumed to be valid. The callback `resource_requester` is called once for each call to [`c_if()`](#qiskit.circuit.InstructionSet.c_if "qiskit.circuit.InstructionSet.c_if"), and assumes that a call implies that the resource will now be used. It may throw an error if the resource is not valid for usage. @@ -51,14 +51,18 @@ python_api_name: qiskit.circuit.InstructionSet ### add - + Add an instruction and its context (where it is attached). ### c\_if - - Set a classical equality condition on all the instructions in this set between the [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") or [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") `classical` and value `val`. + + Set a classical equality condition on all the instructions in this set between the [`ClassicalRegister`](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") or [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") `classical` and value `val`. + + + You should prefer to use the [`QuantumCircuit.if_test()`](qiskit.circuit.QuantumCircuit#if_test "qiskit.circuit.QuantumCircuit.if_test") builder interface, rather than using this method. + This is a setter method, not an additive one. Calling this multiple times will silently override any previously set condition on any of the contained instructions; it does not stack. @@ -66,7 +70,7 @@ python_api_name: qiskit.circuit.InstructionSet **Parameters** - * **classical** ([*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit") *|*[*ClassicalRegister*](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – the classical resource the equality condition should be on. If this is given as an integer, it will be resolved into a [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") using the same conventions as the circuit these instructions are attached to. + * **classical** ([*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") *|*[*ClassicalRegister*](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – the classical resource the equality condition should be on. If this is given as an integer, it will be resolved into a [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") using the same conventions as the circuit these instructions are attached to. * **val** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – the value the classical resource should be equal to. **Returns** @@ -80,34 +84,16 @@ python_api_name: qiskit.circuit.InstructionSet **Return type** [InstructionSet](#qiskit.circuit.InstructionSet "qiskit.circuit.InstructionSet") - - **Example** - - ```python - from qiskit import ClassicalRegister, QuantumRegister, QuantumCircuit - - qr = QuantumRegister(2) - cr = ClassicalRegister(2) - qc = QuantumCircuit(qr, cr) - qc.h(range(2)) - qc.measure(range(2), range(2)) - - # apply x gate if the classical register has the value 2 (10 in binary) - qc.x(0).c_if(cr, 2) - - # apply y gate if bit 0 is set to 1 - qc.y(1).c_if(0, 1) - - qc.draw('mpl') - ``` - - ![../\_images/qiskit-circuit-InstructionSet-1.png](/images/api/qiskit/dev/qiskit-circuit-InstructionSet-1.png) ### inverse - + Invert all instructions. + + + It is preferable to take the inverse *before* appending the gate(s) to the circuit. + diff --git a/docs/api/qiskit/dev/qiskit.circuit.Operation.mdx b/docs/api/qiskit/dev/qiskit.circuit.Operation.mdx index 5fa29da8626..c63a3f71067 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.Operation.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.Operation.mdx @@ -8,14 +8,20 @@ python_api_name: qiskit.circuit.Operation # Operation - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") - Quantum Operation Interface Class. For objects that can be added to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). These objects include [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"), `Reset`, `Barrier`, `Measure`, and operators such as [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford"). The main purpose is to add an [`Operation`](#qiskit.circuit.Operation "qiskit.circuit.Operation") to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") without synthesizing it before the transpilation. + Quantum operation interface. + + The minimal interface that any object must fulfil in order to be added to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). + + Concrete instances of this interface include [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"), [`Reset`](circuit#qiskit.circuit.Reset "qiskit.circuit.Reset"), [`Barrier`](circuit#qiskit.circuit.Barrier "qiskit.circuit.Barrier"), [`Measure`](circuit#qiskit.circuit.Measure "qiskit.circuit.Measure"), and operators such as [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford"). + + The main purpose is to add allow abstract mathematical objects to be added directly onto abstract circuits, and for the exact syntheses of these to be determined later, during compilation. **Example** - Add a Clifford and a Toffoli gate to a QuantumCircuit. + Add a Clifford and a Toffoli gate to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). ```python from qiskit import QuantumCircuit diff --git a/docs/api/qiskit/dev/qiskit.circuit.Parameter.mdx b/docs/api/qiskit/dev/qiskit.circuit.Parameter.mdx index 96c570b5d55..1de98f741ad 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.Parameter.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.Parameter.mdx @@ -8,12 +8,14 @@ python_api_name: qiskit.circuit.Parameter # Parameter - + Bases: [`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") - Parameter Class for variable parameters. + A compile-time symbolic parameter. - A parameter is a variable value that is not required to be fixed at circuit definition. + The value of a [`Parameter`](#qiskit.circuit.Parameter "qiskit.circuit.Parameter") must be entirely determined before a circuit begins execution. Typically this will mean that you should supply values for all [`Parameter`](#qiskit.circuit.Parameter "qiskit.circuit.Parameter")s in a circuit using [`QuantumCircuit.assign_parameters()`](qiskit.circuit.QuantumCircuit#assign_parameters "qiskit.circuit.QuantumCircuit.assign_parameters"), though certain hardware vendors may allow you to give them a circuit in terms of these parameters, provided you also pass the values separately. + + This is the atom of [`ParameterExpression`](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression"), and is itself an expression. The numeric value of a parameter need not be fixed while the circuit is being defined. **Examples** @@ -40,11 +42,9 @@ python_api_name: qiskit.circuit.Parameter ![../\_images/qiskit-circuit-Parameter-1\_01.png](/images/api/qiskit/dev/qiskit-circuit-Parameter-1_01.png) - Create a new named [`Parameter`](#qiskit.circuit.Parameter "qiskit.circuit.Parameter"). - **Parameters** - * **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – name of the `Parameter`, used for visual representation. This can be any unicode string, e.g. “ϕ”. + * **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – name of the `Parameter`, used for visual representation. This can be any Unicode string, e.g. “ϕ”. * **uuid** (*UUID | None*) – For advanced usage only. Override the UUID of this parameter, in order to make it compare equal to some other parameter object. By default, two parameters with the same name do not compare equal to help catch shadowing bugs when two circuits containing the same named parameters are spurious combined. Setting the `uuid` field when creating two parameters to the same thing (along with the same name) allows them to be equal. This is useful during serialization and deserialization. ## Attributes @@ -73,31 +73,31 @@ python_api_name: qiskit.circuit.Parameter ### abs - + Absolute of a ParameterExpression ### arccos - + Arccos of a ParameterExpression ### arcsin - + Arcsin of a ParameterExpression ### arctan - + Arctan of a ParameterExpression ### assign - + Assign one parameter to a value, which can either be numeric or another parameter expression. **Parameters** @@ -112,7 +112,7 @@ python_api_name: qiskit.circuit.Parameter ### bind - + Binds the provided set of parameters to their corresponding values. **Parameters** @@ -141,7 +141,7 @@ python_api_name: qiskit.circuit.Parameter ### conjugate - + Return the conjugate. **Return type** @@ -151,19 +151,19 @@ python_api_name: qiskit.circuit.Parameter ### cos - + Cosine of a ParameterExpression ### exp - + Exponential of a ParameterExpression ### gradient - + Get the derivative of a parameter expression w\.r.t. a specified parameter expression. **Parameters** @@ -181,19 +181,19 @@ python_api_name: qiskit.circuit.Parameter ### is\_real - + Return whether the expression is real ### log - + Logarithm of a ParameterExpression ### numeric - + Return a Python number representing this object, using the most restrictive of [`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)") and [`complex`](https://docs.python.org/3/library/functions.html#complex "(in Python v3.12)") that is valid for this object. In general, an [`int`](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") is only returned if the expression only involved symbolic integers. If floating-point values were used during the evaluation, the return value will be a [`float`](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)") regardless of whether the represented value is an integer. This is because floating-point values “infect” symbolic computations by their inexact nature, and symbolic libraries will use inexact floating-point semantics not exact real-number semantics when they are involved. If you want to assert that all floating-point calculations *were* carried out at infinite precision (i.e. [`float`](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)") could represent every intermediate value exactly), you can use [`float.is_integer()`](https://docs.python.org/3/library/stdtypes.html#float.is_integer "(in Python v3.12)") to check if the return float represents an integer and cast it using [`int`](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") if so. This would be an unusual pattern; typically one requires this by only ever using explicitly [`Rational`](https://docs.python.org/3/library/numbers.html#numbers.Rational "(in Python v3.12)") objects while working with symbolic expressions. @@ -215,25 +215,25 @@ python_api_name: qiskit.circuit.Parameter ### sign - + Sign of a ParameterExpression ### sin - + Sine of a ParameterExpression ### subs - + Substitute self with the corresponding parameter in `parameter_map`. ### sympify - + Return symbolic expression as a raw Sympy or Symengine object. Symengine is used preferentially; if both are available, the result will always be a `symengine` object. Symengine is a separate library but has integration with Sympy. @@ -245,7 +245,7 @@ python_api_name: qiskit.circuit.Parameter ### tan - + Tangent of a ParameterExpression diff --git a/docs/api/qiskit/dev/qiskit.circuit.ParameterExpression.mdx b/docs/api/qiskit/dev/qiskit.circuit.ParameterExpression.mdx index d7a4688856d..d3eb1a1b780 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.ParameterExpression.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.ParameterExpression.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.ParameterExpression # ParameterExpression - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") ParameterExpression class to enable creating expressions of Parameters. @@ -34,31 +34,31 @@ python_api_name: qiskit.circuit.ParameterExpression ### abs - + Absolute of a ParameterExpression ### arccos - + Arccos of a ParameterExpression ### arcsin - + Arcsin of a ParameterExpression ### arctan - + Arctan of a ParameterExpression ### assign - + Assign one parameter to a value, which can either be numeric or another parameter expression. **Parameters** @@ -77,7 +77,7 @@ python_api_name: qiskit.circuit.ParameterExpression ### bind - + Binds the provided set of parameters to their corresponding values. **Parameters** @@ -106,7 +106,7 @@ python_api_name: qiskit.circuit.ParameterExpression ### conjugate - + Return the conjugate. **Return type** @@ -116,19 +116,19 @@ python_api_name: qiskit.circuit.ParameterExpression ### cos - + Cosine of a ParameterExpression ### exp - + Exponential of a ParameterExpression ### gradient - + Get the derivative of a parameter expression w\.r.t. a specified parameter expression. **Parameters** @@ -146,19 +146,19 @@ python_api_name: qiskit.circuit.ParameterExpression ### is\_real - + Return whether the expression is real ### log - + Logarithm of a ParameterExpression ### numeric - + Return a Python number representing this object, using the most restrictive of [`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)") and [`complex`](https://docs.python.org/3/library/functions.html#complex "(in Python v3.12)") that is valid for this object. In general, an [`int`](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") is only returned if the expression only involved symbolic integers. If floating-point values were used during the evaluation, the return value will be a [`float`](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)") regardless of whether the represented value is an integer. This is because floating-point values “infect” symbolic computations by their inexact nature, and symbolic libraries will use inexact floating-point semantics not exact real-number semantics when they are involved. If you want to assert that all floating-point calculations *were* carried out at infinite precision (i.e. [`float`](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)") could represent every intermediate value exactly), you can use [`float.is_integer()`](https://docs.python.org/3/library/stdtypes.html#float.is_integer "(in Python v3.12)") to check if the return float represents an integer and cast it using [`int`](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") if so. This would be an unusual pattern; typically one requires this by only ever using explicitly [`Rational`](https://docs.python.org/3/library/numbers.html#numbers.Rational "(in Python v3.12)") objects while working with symbolic expressions. @@ -180,19 +180,19 @@ python_api_name: qiskit.circuit.ParameterExpression ### sign - + Sign of a ParameterExpression ### sin - + Sine of a ParameterExpression ### subs - + Returns a new Expression with replacement Parameters. **Parameters** @@ -217,7 +217,7 @@ python_api_name: qiskit.circuit.ParameterExpression ### sympify - + Return symbolic expression as a raw Sympy or Symengine object. Symengine is used preferentially; if both are available, the result will always be a `symengine` object. Symengine is a separate library but has integration with Sympy. @@ -229,7 +229,7 @@ python_api_name: qiskit.circuit.ParameterExpression ### tan - + Tangent of a ParameterExpression diff --git a/docs/api/qiskit/dev/qiskit.circuit.ParameterVector.mdx b/docs/api/qiskit/dev/qiskit.circuit.ParameterVector.mdx index a23f4e3ea33..fba97fb1512 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.ParameterVector.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.ParameterVector.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.ParameterVector # ParameterVector - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") ParameterVector class to quickly generate lists of parameters. @@ -31,13 +31,13 @@ python_api_name: qiskit.circuit.ParameterVector ### index - + Returns first index of value. ### resize - + Resize the parameter vector. If necessary, new elements are generated. If length is smaller than before, the previous elements are cached and not re-generated if the vector is enlarged again. This is to ensure that the parameter instances do not change. diff --git a/docs/api/qiskit/dev/qiskit.circuit.QuantumCircuit.mdx b/docs/api/qiskit/dev/qiskit.circuit.QuantumCircuit.mdx index 342c53522ef..33519fc724a 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.QuantumCircuit.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.QuantumCircuit.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.QuantumCircuit # QuantumCircuit - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Create a new circuit. @@ -17,11 +17,11 @@ python_api_name: qiskit.circuit.QuantumCircuit **Parameters** - * **regs** (list([`Register`](qiskit.circuit.Register "qiskit.circuit.Register")) or list(`int`) or list(list([`Bit`](qiskit.circuit.Bit "qiskit.circuit.Bit")))) – + * **regs** (list([`Register`](circuit#qiskit.circuit.Register "qiskit.circuit.Register")) or list(`int`) or list(list([`Bit`](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit")))) – The registers to be included in the circuit. - * If a list of [`Register`](qiskit.circuit.Register "qiskit.circuit.Register") objects, represents the [`QuantumRegister`](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister") and/or [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") objects to include in the circuit. + * If a list of [`Register`](circuit#qiskit.circuit.Register "qiskit.circuit.Register") objects, represents the [`QuantumRegister`](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister") and/or [`ClassicalRegister`](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") objects to include in the circuit. For example: @@ -36,7 +36,7 @@ python_api_name: qiskit.circuit.QuantumCircuit > * `QuantumCircuit(4) # A QuantumCircuit with 4 qubits` > * `QuantumCircuit(4, 3) # A QuantumCircuit with 4 qubits and 3 classical bits` - * If a list of python lists containing [`Bit`](qiskit.circuit.Bit "qiskit.circuit.Bit") objects, a collection of [`Bit`](qiskit.circuit.Bit "qiskit.circuit.Bit") s to be added to the circuit. + * If a list of python lists containing [`Bit`](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit") objects, a collection of [`Bit`](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit") s to be added to the circuit. * **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – the name of the quantum circuit. If not set, an automatically generated string will be assigned. @@ -44,7 +44,7 @@ python_api_name: qiskit.circuit.QuantumCircuit * **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`. + * **inputs** (*Iterable\[*[*expr.Var*](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var")*]*) – any variables to declare as `input` real-time 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`. @@ -153,7 +153,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### instances - + ### layout @@ -182,7 +182,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -196,7 +196,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -204,7 +204,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -224,7 +224,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the [`iter_vars()`](#qiskit.circuit.QuantumCircuit.iter_vars "qiskit.circuit.QuantumCircuit.iter_vars") iterable. @@ -317,13 +317,13 @@ python_api_name: qiskit.circuit.QuantumCircuit ### add\_bits - + Add Bits to the circuit. ### add\_calibration - + Register a low-level, custom pulse definition for the given gate. **Parameters** @@ -340,7 +340,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### add\_capture - + 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. @@ -358,7 +358,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### add\_input - + Register a variable as an input to the circuit. **Parameters** @@ -377,13 +377,13 @@ python_api_name: qiskit.circuit.QuantumCircuit ### add\_register - + Add registers. ### add\_uninitialized\_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. @@ -401,7 +401,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### add\_var - + 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. @@ -463,26 +463,26 @@ python_api_name: qiskit.circuit.QuantumCircuit 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. + # Now when we add the variable, it is initialized using the real-time state of the + # two classical registers we measured into above. qc.add_var(my_var, expr.bit_and(cr1, cr2)) ``` ### append - + Append one or more instructions to the end of the circuit, modifying the circuit in place. - The `qargs` and `cargs` will be expanded and broadcast according to the rules of the given [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction"), and any non-[`Bit`](qiskit.circuit.Bit "qiskit.circuit.Bit") specifiers (such as integer indices) will be resolved into the relevant instances. + The `qargs` and `cargs` will be expanded and broadcast according to the rules of the given [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction"), and any non-[`Bit`](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit") specifiers (such as integer indices) will be resolved into the relevant instances. If a [`CircuitInstruction`](qiskit.circuit.CircuitInstruction "qiskit.circuit.CircuitInstruction") is given, it will be unwrapped, verified in the context of this circuit, and a new object will be appended to the circuit. In this case, you may not pass `qargs` or `cargs` separately. **Parameters** * **instruction** ([*Operation*](qiskit.circuit.Operation "qiskit.circuit.Operation") *|*[*CircuitInstruction*](qiskit.circuit.CircuitInstruction "qiskit.circuit.CircuitInstruction")) – [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") instance to append, or a [`CircuitInstruction`](qiskit.circuit.CircuitInstruction "qiskit.circuit.CircuitInstruction") with all its context. - * **qargs** (*Sequence\[QubitSpecifier] | None*) – specifiers of the [`Qubit`](qiskit.circuit.Qubit "qiskit.circuit.Qubit")s to attach instruction to. - * **cargs** (*Sequence\[ClbitSpecifier] | None*) – specifiers of the [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit")s to attach instruction to. + * **qargs** (*Sequence\[QubitSpecifier] | None*) – specifiers of the [`Qubit`](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")s to attach instruction to. + * **cargs** (*Sequence\[ClbitSpecifier] | None*) – specifiers of the [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")s to attach instruction to. **Returns** @@ -499,7 +499,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### assign\_parameters - + Assign parameters to new parameters or values. If `parameters` is passed as a dictionary, the keys should be [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter") instances in the current circuit. The values of the dictionary can either be numeric values or new parameter objects. @@ -573,8 +573,8 @@ python_api_name: qiskit.circuit.QuantumCircuit ### barrier - - Apply [`Barrier`](qiskit.circuit.library.Barrier "qiskit.circuit.library.Barrier"). If `qargs` is empty, applies to all qubits in the circuit. + + Apply `Barrier`. If `qargs` is empty, applies to all qubits in the circuit. **Parameters** @@ -592,7 +592,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### break\_loop - + Apply [`BreakLoopOp`](qiskit.circuit.BreakLoopOp "qiskit.circuit.BreakLoopOp"). @@ -614,7 +614,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cast - + Best effort to cast value to type. Otherwise, returns the value. **Return type** @@ -624,7 +624,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cbit\_argument\_conversion - + Converts several classical bit representations (such as indexes, range, etc.) into a list of classical bits. **Parameters** @@ -642,7 +642,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### ccx - + Apply [`CCXGate`](qiskit.circuit.library.CCXGate "qiskit.circuit.library.CCXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -665,7 +665,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### ccz - + Apply [`CCZGate`](qiskit.circuit.library.CCZGate "qiskit.circuit.library.CCZGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -689,7 +689,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### ch - + Apply [`CHGate`](qiskit.circuit.library.CHGate "qiskit.circuit.library.CHGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -712,7 +712,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### clear - + Clear all instructions in self. Clearing the circuits will keep the metadata and calibrations. @@ -720,7 +720,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cls\_instances - + Return the current number of instances of this class, useful for auto naming. **Return type** @@ -730,7 +730,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cls\_prefix - + Return the prefix to use for auto naming. **Return type** @@ -740,7 +740,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### compose - + Compose circuit with `other` circuit or instruction, optionally permuting wires. `other` can be narrower or of equal width to `self`. @@ -748,8 +748,8 @@ python_api_name: qiskit.circuit.QuantumCircuit **Parameters** * **other** ([*qiskit.circuit.Instruction*](qiskit.circuit.Instruction "qiskit.circuit.Instruction") *or*[*QuantumCircuit*](#qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – (sub)circuit or instruction to compose onto self. If not a [`QuantumCircuit`](#qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"), this can be anything that [`append`](#qiskit.circuit.QuantumCircuit.append "qiskit.circuit.QuantumCircuit.append") will accept. - * **qubits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – qubits of self to compose onto. - * **clbits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – clbits of self to compose onto. + * **qubits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – qubits of self to compose onto. + * **clbits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – clbits of self to compose onto. * **front** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If True, front composition will be performed. This is not possible within control-flow builder context managers. * **inplace** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If True, modify the object. Otherwise return composed circuit. * **wrap** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If True, wraps the other circuit into a gate (or instruction, depending on whether it contains only unitary instructions) before composing it onto self. @@ -794,7 +794,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### continue\_loop - + Apply [`ContinueLoopOp`](qiskit.circuit.ContinueLoopOp "qiskit.circuit.ContinueLoopOp"). @@ -816,7 +816,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### control - + Control this circuit on `num_ctrl_qubits` qubits. **Parameters** @@ -841,7 +841,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### copy - + Copy the circuit. **Parameters** @@ -859,7 +859,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### copy\_empty\_like - + Return a copy of self with the same structure but empty. **That structure includes:** @@ -869,7 +869,7 @@ python_api_name: qiskit.circuit.QuantumCircuit * 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. + 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`](circuit#qiskit.circuit.Store "qiskit.circuit.Store") and [`QuantumCircuit.store()`](#qiskit.circuit.QuantumCircuit.store "qiskit.circuit.QuantumCircuit.store")) to initialize them. **Parameters** @@ -887,7 +887,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### count\_ops - + Count each operation kind in the circuit. **Returns** @@ -901,7 +901,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cp - + Apply [`CPhaseGate`](qiskit.circuit.library.CPhaseGate "qiskit.circuit.library.CPhaseGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -925,7 +925,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### crx - + Apply [`CRXGate`](qiskit.circuit.library.CRXGate "qiskit.circuit.library.CRXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -949,7 +949,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cry - + Apply [`CRYGate`](qiskit.circuit.library.CRYGate "qiskit.circuit.library.CRYGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -973,7 +973,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### crz - + Apply [`CRZGate`](qiskit.circuit.library.CRZGate "qiskit.circuit.library.CRZGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -997,7 +997,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cs - + Apply [`CSGate`](qiskit.circuit.library.CSGate "qiskit.circuit.library.CSGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1020,7 +1020,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### csdg - + Apply [`CSdgGate`](qiskit.circuit.library.CSdgGate "qiskit.circuit.library.CSdgGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1043,7 +1043,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cswap - + Apply [`CSwapGate`](qiskit.circuit.library.CSwapGate "qiskit.circuit.library.CSwapGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1067,7 +1067,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### csx - + Apply [`CSXGate`](qiskit.circuit.library.CSXGate "qiskit.circuit.library.CSXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1090,7 +1090,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cu - + Apply [`CUGate`](qiskit.circuit.library.CUGate "qiskit.circuit.library.CUGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1117,7 +1117,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cx - + Apply [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1140,7 +1140,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cy - + Apply [`CYGate`](qiskit.circuit.library.CYGate "qiskit.circuit.library.CYGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1163,7 +1163,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### cz - + Apply [`CZGate`](qiskit.circuit.library.CZGate "qiskit.circuit.library.CZGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -1186,15 +1186,15 @@ python_api_name: qiskit.circuit.QuantumCircuit ### dcx - + Apply [`DCXGate`](qiskit.circuit.library.DCXGate "qiskit.circuit.library.DCXGate"). For the full matrix form of this gate, see the underlying gate documentation. **Parameters** - * **qubit1** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. - * **qubit2** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + * **qubit1** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + * **qubit2** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -1207,7 +1207,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### decompose - + Call a decomposition pass on this circuit, to decompose one level (shallow decompose). **Parameters** @@ -1226,8 +1226,8 @@ python_api_name: qiskit.circuit.QuantumCircuit ### delay - - Apply [`Delay`](qiskit.circuit.Delay "qiskit.circuit.Delay"). If qarg is `None`, applies to all qubits. When applying to multiple qubits, delays with the same duration will be created. + + Apply [`Delay`](circuit#qiskit.circuit.Delay "qiskit.circuit.Delay"). If qarg is `None`, applies to all qubits. When applying to multiple qubits, delays with the same duration will be created. **Parameters** @@ -1250,7 +1250,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### depth - + Return circuit depth (i.e., length of critical path). **Parameters** @@ -1272,7 +1272,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### draw - + Draw the quantum circuit. Use the output parameter to choose the drawing format: **text**: ASCII art TextDrawing that can be printed in the console. @@ -1370,15 +1370,15 @@ python_api_name: qiskit.circuit.QuantumCircuit ### ecr - + Apply [`ECRGate`](qiskit.circuit.library.ECRGate "qiskit.circuit.library.ECRGate"). For the full matrix form of this gate, see the underlying gate documentation. **Parameters** - * **qubit1** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubits to apply the gate to. - * **qubit2** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubits to apply the gate to. + * **qubit1** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubits to apply the gate to. + * **qubit2** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubits to apply the gate to. **Returns** @@ -1391,31 +1391,31 @@ python_api_name: qiskit.circuit.QuantumCircuit ### find\_bit - - Find locations in the circuit which can be used to reference a given [`Bit`](qiskit.circuit.Bit "qiskit.circuit.Bit"). + + Find locations in the circuit which can be used to reference a given [`Bit`](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit"). **Parameters** - **bit** ([*Bit*](qiskit.circuit.Bit "qiskit.circuit.Bit")) – The bit to locate. + **bit** ([*Bit*](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit")) – The bit to locate. **Returns** **A 2-tuple. The first element (`index`)** - contains the index at which the `Bit` can be found (in either [`qubits`](#qiskit.circuit.QuantumCircuit.qubits "qiskit.circuit.QuantumCircuit.qubits"), [`clbits`](#qiskit.circuit.QuantumCircuit.clbits "qiskit.circuit.QuantumCircuit.clbits"), depending on its type). The second element (`registers`) is a list of `(register, index)` pairs with an entry for each [`Register`](qiskit.circuit.Register "qiskit.circuit.Register") in the circuit which contains the [`Bit`](qiskit.circuit.Bit "qiskit.circuit.Bit") (and the index in the [`Register`](qiskit.circuit.Register "qiskit.circuit.Register") at which it can be found). + contains the index at which the `Bit` can be found (in either [`qubits`](#qiskit.circuit.QuantumCircuit.qubits "qiskit.circuit.QuantumCircuit.qubits"), [`clbits`](#qiskit.circuit.QuantumCircuit.clbits "qiskit.circuit.QuantumCircuit.clbits"), depending on its type). The second element (`registers`) is a list of `(register, index)` pairs with an entry for each [`Register`](circuit#qiskit.circuit.Register "qiskit.circuit.Register") in the circuit which contains the [`Bit`](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit") (and the index in the [`Register`](circuit#qiskit.circuit.Register "qiskit.circuit.Register") at which it can be found). **Return type** - namedtuple([int](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)"), List\[Tuple([Register](qiskit.circuit.Register "qiskit.circuit.Register"), [int](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)"))]) + namedtuple([int](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)"), List\[Tuple([Register](circuit#qiskit.circuit.Register "qiskit.circuit.Register"), [int](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)"))]) **Notes** - The circuit index of an [`AncillaQubit`](qiskit.circuit.AncillaQubit "qiskit.circuit.AncillaQubit") will be its index in [`qubits`](#qiskit.circuit.QuantumCircuit.qubits "qiskit.circuit.QuantumCircuit.qubits"), not [`ancillas`](#qiskit.circuit.QuantumCircuit.ancillas "qiskit.circuit.QuantumCircuit.ancillas"). + The circuit index of an [`AncillaQubit`](circuit#qiskit.circuit.AncillaQubit "qiskit.circuit.AncillaQubit") will be its index in [`qubits`](#qiskit.circuit.QuantumCircuit.qubits "qiskit.circuit.QuantumCircuit.qubits"), not [`ancillas`](#qiskit.circuit.QuantumCircuit.ancillas "qiskit.circuit.QuantumCircuit.ancillas"). **Raises** - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – If the supplied [`Bit`](qiskit.circuit.Bit "qiskit.circuit.Bit") was of an unknown type. - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – If the supplied [`Bit`](qiskit.circuit.Bit "qiskit.circuit.Bit") could not be found on the circuit. + * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – If the supplied [`Bit`](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit") was of an unknown type. + * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – If the supplied [`Bit`](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit") could not be found on the circuit. **Return type** @@ -1424,7 +1424,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### for\_loop - + Create a `for` loop on this circuit. There are two forms for calling this function. If called with all its arguments (with the possible exception of `label`), it will create a [`ForLoopOp`](qiskit.circuit.ForLoopOp "qiskit.circuit.ForLoopOp") with the given `body`. If `body` (and `qubits` and `clbits`) are *not* passed, then this acts as a context manager, which, when entered, provides a loop variable (unless one is given, in which case it will be reused) and will automatically build a [`ForLoopOp`](qiskit.circuit.ForLoopOp "qiskit.circuit.ForLoopOp") when the scope finishes. In this form, you do not need to keep track of the qubits or clbits you are using, because the scope will handle it for you. @@ -1475,14 +1475,14 @@ python_api_name: qiskit.circuit.QuantumCircuit ### from\_instructions - + Construct a circuit from an iterable of CircuitInstructions. **Parameters** - * **instructions** (*Iterable\[*[*CircuitInstruction*](qiskit.circuit.CircuitInstruction "qiskit.circuit.CircuitInstruction") *|*[*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*qiskit.circuit.Instruction*](qiskit.circuit.Instruction "qiskit.circuit.Instruction")*] |* [*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*qiskit.circuit.Instruction*](qiskit.circuit.Instruction "qiskit.circuit.Instruction")*, Iterable\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*]] |* [*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*qiskit.circuit.Instruction*](qiskit.circuit.Instruction "qiskit.circuit.Instruction")*, Iterable\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*], Iterable\[*[*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*]]]*) – The instructions to add to the circuit. - * **qubits** (*Iterable\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*]*) – Any qubits to add to the circuit. This argument can be used, for example, to enforce a particular ordering of qubits. - * **clbits** (*Iterable\[*[*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*]*) – Any classical bits to add to the circuit. This argument can be used, for example, to enforce a particular ordering of classical bits. + * **instructions** (*Iterable\[*[*CircuitInstruction*](qiskit.circuit.CircuitInstruction "qiskit.circuit.CircuitInstruction") *|*[*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*qiskit.circuit.Instruction*](qiskit.circuit.Instruction "qiskit.circuit.Instruction")*] |* [*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*qiskit.circuit.Instruction*](qiskit.circuit.Instruction "qiskit.circuit.Instruction")*, Iterable\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*]] |* [*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*qiskit.circuit.Instruction*](qiskit.circuit.Instruction "qiskit.circuit.Instruction")*, Iterable\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*], Iterable\[*[*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*]]]*) – The instructions to add to the circuit. + * **qubits** (*Iterable\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*]*) – Any qubits to add to the circuit. This argument can be used, for example, to enforce a particular ordering of qubits. + * **clbits** (*Iterable\[*[*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*]*) – Any classical bits to add to the circuit. This argument can be used, for example, to enforce a particular ordering of classical bits. * **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – The name of the circuit. * **global\_phase** (*ParameterValueType*) – The global phase of the circuit in radians. * **metadata** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") *| None*) – Arbitrary key value metadata to associate with the circuit. @@ -1498,7 +1498,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### from\_qasm\_file - + Read an OpenQASM 2.0 program from a file and convert to an instance of [`QuantumCircuit`](#qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). **Parameters** @@ -1520,7 +1520,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### from\_qasm\_str - + Convert a string containing an OpenQASM 2.0 program to a [`QuantumCircuit`](#qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). **Parameters** @@ -1542,7 +1542,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### get\_instructions - + Get instructions matching name. **Parameters** @@ -1560,7 +1560,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### get\_parameter - + Retrieve a compile-time parameter that is accessible in this circuit scope by name. **Parameters** @@ -1612,7 +1612,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### get\_var - + Retrieve a variable that is accessible in this circuit scope by name. **Parameters** @@ -1662,14 +1662,14 @@ python_api_name: qiskit.circuit.QuantumCircuit ### h - + Apply [`HGate`](qiskit.circuit.library.HGate "qiskit.circuit.library.HGate"). For the full matrix form of this gate, see the underlying gate documentation. **Parameters** - **qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + **qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -1682,13 +1682,13 @@ python_api_name: qiskit.circuit.QuantumCircuit ### has\_calibration\_for - + Return True if the circuit has a calibration defined for the instruction context. In this case, the operation does not need to be translated to the device basis. ### has\_parameter - + Check whether a parameter object exists in this circuit. **Parameters** @@ -1716,12 +1716,12 @@ python_api_name: qiskit.circuit.QuantumCircuit ### has\_register - + Test if this circuit has the register r. **Parameters** - **register** ([*Register*](qiskit.circuit.Register "qiskit.circuit.Register")) – a quantum or classical register. + **register** ([*Register*](circuit#qiskit.circuit.Register "qiskit.circuit.Register")) – a quantum or classical register. **Returns** @@ -1734,7 +1734,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### has\_var - + Check whether a variable is accessible in this scope. **Parameters** @@ -1762,14 +1762,14 @@ python_api_name: qiskit.circuit.QuantumCircuit ### id - + Apply [`IGate`](qiskit.circuit.library.IGate "qiskit.circuit.library.IGate"). For the full matrix form of this gate, see the underlying gate documentation. **Parameters** - **qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + **qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -1782,7 +1782,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### if\_else - + Apply [`IfElseOp`](qiskit.circuit.IfElseOp "qiskit.circuit.IfElseOp"). @@ -1804,7 +1804,7 @@ python_api_name: qiskit.circuit.QuantumCircuit **Parameters** - * **condition** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*ClassicalRegister*](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister")*,* [*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)")*\[*[*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*,* [*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)")*\[*[*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*,* [*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")*]*) – A condition to be evaluated at circuit runtime which, if true, will trigger the evaluation of `true_body`. Can be specified as either a tuple of a `ClassicalRegister` to be tested for equality with a given `int`, or as a tuple of a `Clbit` to be compared to either a `bool` or an `int`. + * **condition** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*ClassicalRegister*](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister")*,* [*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)")*\[*[*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*,* [*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)")*\[*[*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*,* [*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")*]*) – A condition to be evaluated in real time at circuit execution, which, if true, will trigger the evaluation of `true_body`. Can be specified as either a tuple of a `ClassicalRegister` to be tested for equality with a given `int`, or as a tuple of a `Clbit` to be compared to either a `bool` or an `int`. * **true\_body** ([*QuantumCircuit*](#qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – The circuit body to be run if `condition` is true. * **false\_body** ([*QuantumCircuit*](#qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – The circuit to be run if `condition` is false. * **qubits** (*Sequence\[QubitSpecifier]*) – The circuit qubits over which the if/else should be run. @@ -1826,7 +1826,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### if\_test - + Create an `if` statement on this circuit. There are two forms for calling this function. If called with all its arguments (with the possible exception of `label`), it will create a [`IfElseOp`](qiskit.circuit.IfElseOp "qiskit.circuit.IfElseOp") with the given `true_body`, and there will be no branch for the `false` condition (see also the [`if_else()`](#qiskit.circuit.QuantumCircuit.if_else "qiskit.circuit.QuantumCircuit.if_else") method). However, if `true_body` (and `qubits` and `clbits`) are *not* passed, then this acts as a context manager, which can be used to build `if` statements. The return value of the `with` statement is a chainable context manager, which can be used to create subsequent `else` blocks. In this form, you do not need to keep track of the qubits or clbits you are using, because the scope will handle it for you. @@ -1854,7 +1854,7 @@ python_api_name: qiskit.circuit.QuantumCircuit **Parameters** - * **condition** (*Tuple\[Union\[*[*ClassicalRegister*](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister")*,* [*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*],* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – A condition to be evaluated at circuit runtime which, if true, will trigger the evaluation of `true_body`. Can be specified as either a tuple of a `ClassicalRegister` to be tested for equality with a given `int`, or as a tuple of a `Clbit` to be compared to either a `bool` or an `int`. + * **condition** (*Tuple\[Union\[*[*ClassicalRegister*](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister")*,* [*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*],* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – A condition to be evaluated in real time during circuit execution, which, if true, will trigger the evaluation of `true_body`. Can be specified as either a tuple of a `ClassicalRegister` to be tested for equality with a given `int`, or as a tuple of a `Clbit` to be compared to either a `bool` or an `int`. * **true\_body** (*Optional\[*[*QuantumCircuit*](#qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*]*) – The circuit body to be run if `condition` is true. * **qubits** (*Optional\[Sequence\[QubitSpecifier]]*) – The circuit qubits over which the if/else should be run. * **clbits** (*Optional\[Sequence\[ClbitSpecifier]]*) – The circuit clbits over which the if/else should be run. @@ -1880,7 +1880,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### initialize - + Initialize qubits in a specific state. Qubit initialization is done by first resetting the qubits to $|0\rangle$ followed by calling [`StatePreparation`](qiskit.circuit.library.StatePreparation "qiskit.circuit.library.StatePreparation") class to prepare the qubits in a specified state. Both these steps are included in the [`Initialize`](qiskit.circuit.library.Initialize "qiskit.circuit.library.Initialize") instruction. @@ -1969,7 +1969,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### inverse - + Invert (take adjoint of) this circuit. This is done by recursively inverting all gates. @@ -2015,15 +2015,15 @@ python_api_name: qiskit.circuit.QuantumCircuit ### iswap - + Apply [`iSwapGate`](qiskit.circuit.library.iSwapGate "qiskit.circuit.library.iSwapGate"). For the full matrix form of this gate, see the underlying gate documentation. **Parameters** - * **qubit1** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubits to apply the gate to. - * **qubit2** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubits to apply the gate to. + * **qubit1** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubits to apply the gate to. + * **qubit2** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubits to apply the gate to. **Returns** @@ -2036,8 +2036,8 @@ python_api_name: qiskit.circuit.QuantumCircuit ### 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")). + + Get an iterable over all real-time 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** @@ -2046,8 +2046,8 @@ python_api_name: qiskit.circuit.QuantumCircuit ### 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")). + + Get an iterable over all real-time 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** @@ -2056,8 +2056,8 @@ python_api_name: qiskit.circuit.QuantumCircuit ### 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")). + + Get an iterable over all real-time 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** @@ -2066,8 +2066,8 @@ python_api_name: qiskit.circuit.QuantumCircuit ### iter\_vars - - Get an iterable over all runtime classical variables in scope within this circuit. + + Get an iterable over all real-time 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"). @@ -2078,16 +2078,17 @@ python_api_name: qiskit.circuit.QuantumCircuit ### mcp - + Apply [`MCPhaseGate`](qiskit.circuit.library.MCPhaseGate "qiskit.circuit.library.MCPhaseGate"). For the full matrix form of this gate, see the underlying gate documentation. **Parameters** - * **lam** ([*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") *|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – The angle of the rotation. - * **control\_qubits** ([*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]]*) – The qubits used as the controls. - * **target\_qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) targeted by the gate. + * **lam** (*ParameterValueType*) – The angle of the rotation. + * **control\_qubits** (*Sequence\[QubitSpecifier]*) – The qubits used as the controls. + * **target\_qubit** (*QubitSpecifier*) – The qubit(s) targeted by the gate. + * **ctrl\_state** ([*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)") *| None*) – The control state in decimal, or as a bitstring (e.g. ‘1’). Defaults to controlling on the ‘1’ state. **Returns** @@ -2095,20 +2096,20 @@ python_api_name: qiskit.circuit.QuantumCircuit **Return type** - [*InstructionSet*](qiskit.circuit.InstructionSet "qiskit.circuit.instructionset.InstructionSet") + [InstructionSet](qiskit.circuit.InstructionSet "qiskit.circuit.InstructionSet") ### mcrx - + Apply Multiple-Controlled X rotation gate **Parameters** * **self** ([*QuantumCircuit*](#qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – The QuantumCircuit object to apply the mcrx gate on. * **theta** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – angle theta - * **q\_controls** ([*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister") *or*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*(*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*)*) – The list of control qubits - * **q\_target** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")) – The target qubit + * **q\_controls** ([*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister") *or*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*(*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*)*) – The list of control qubits + * **q\_target** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")) – The target qubit * **use\_basis\_gates** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – use p, u, cx **Raises** @@ -2118,16 +2119,16 @@ python_api_name: qiskit.circuit.QuantumCircuit ### mcry - + Apply Multiple-Controlled Y rotation gate **Parameters** * **self** ([*QuantumCircuit*](#qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – The QuantumCircuit object to apply the mcry gate on. * **theta** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – angle theta - * **q\_controls** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*(*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*)*) – The list of control qubits - * **q\_target** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")) – The target qubit - * **q\_ancillae** ([*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister") *or*[*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*(*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister")*,* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*)*) – The list of ancillary qubits. + * **q\_controls** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*(*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*)*) – The list of control qubits + * **q\_target** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")) – The target qubit + * **q\_ancillae** ([*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister") *or*[*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*(*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister")*,* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*)*) – The list of ancillary qubits. * **mode** (*string*) – The implementation mode to use * **use\_basis\_gates** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – use p, u, cx @@ -2138,15 +2139,15 @@ python_api_name: qiskit.circuit.QuantumCircuit ### mcrz - + Apply Multiple-Controlled Z rotation gate **Parameters** * **self** ([*QuantumCircuit*](#qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – The QuantumCircuit object to apply the mcrz gate on. * **lam** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – angle lambda - * **q\_controls** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*(*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*)*) – The list of control qubits - * **q\_target** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")) – The target qubit + * **q\_controls** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*(*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*)*) – The list of control qubits + * **q\_target** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")) – The target qubit * **use\_basis\_gates** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – use p, u, cx **Raises** @@ -2156,7 +2157,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### mcx - + Apply [`MCXGate`](qiskit.circuit.library.MCXGate "qiskit.circuit.library.MCXGate"). The multi-cX gate can be implemented using different techniques, which use different numbers of ancilla qubits and have varying circuit depth. These modes are: @@ -2174,6 +2175,7 @@ python_api_name: qiskit.circuit.QuantumCircuit * **target\_qubit** (*QubitSpecifier*) – The qubit(s) targeted by the gate. * **ancilla\_qubits** (*QubitSpecifier | Sequence\[QubitSpecifier] | None*) – The qubits used as the ancillae, if the mode requires them. * **mode** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – The choice of mode, explained further above. + * **ctrl\_state** ([*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)") *| None*) – The control state in decimal, or as a bitstring (e.g. ‘1’). Defaults to controlling on the ‘1’ state. **Returns** @@ -2191,15 +2193,15 @@ python_api_name: qiskit.circuit.QuantumCircuit ### measure - + Measure a quantum bit (`qubit`) in the Z basis into a classical bit (`cbit`). When a quantum state is measured, a qubit is projected in the computational (Pauli Z) basis to either $\lvert 0 \rangle$ or $\lvert 1 \rangle$. The classical bit `cbit` indicates the result of that projection as a `0` or a `1` respectively. This operation is non-reversible. **Parameters** - * **qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – qubit(s) to measure. - * **cbit** ([*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.classicalregister.Clbit") *|*[*ClassicalRegister*](qiskit.circuit.ClassicalRegister "qiskit.circuit.classicalregister.ClassicalRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.classicalregister.Clbit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – classical bit(s) to place the measurement result(s) in. + * **qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – qubit(s) to measure. + * **cbit** ([*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.classicalregister.Clbit") *|*[*ClassicalRegister*](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.classicalregister.ClassicalRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.classicalregister.Clbit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – classical bit(s) to place the measurement result(s) in. **Returns** @@ -2246,7 +2248,7 @@ python_api_name: qiskit.circuit.QuantumCircuit circuit.measure(1, 1) ``` - Instead of lists, you can use [`QuantumRegister`](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister") and [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") under the same logic. + Instead of lists, you can use [`QuantumRegister`](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister") and [`ClassicalRegister`](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") under the same logic. ```python from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister @@ -2267,7 +2269,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### measure\_active - + Adds measurement to all non-idle qubits. Creates a new ClassicalRegister with a size equal to the number of non-idle qubits being measured. Returns a new circuit with measurements if inplace=False. @@ -2287,10 +2289,10 @@ python_api_name: qiskit.circuit.QuantumCircuit ### measure\_all - + Adds measurement to all qubits. - By default, adds new classical bits in a [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") to store these measurements. If `add_bits=False`, the results of the measurements will instead be stored in the already existing classical bits, with qubit `n` being measured into classical bit `n`. + By default, adds new classical bits in a [`ClassicalRegister`](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") to store these measurements. If `add_bits=False`, the results of the measurements will instead be stored in the already existing classical bits, with qubit `n` being measured into classical bit `n`. Returns a new circuit with measurements if `inplace=False`. @@ -2314,7 +2316,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### ms - + Apply [`MSGate`](qiskit.circuit.library.MSGate "qiskit.circuit.library.MSGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2322,7 +2324,7 @@ python_api_name: qiskit.circuit.QuantumCircuit **Parameters** * **theta** ([*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") *|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – The angle of the rotation. - * **qubits** ([*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]]*) – The qubits to apply the gate to. + * **qubits** ([*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]]*) – The qubits to apply the gate to. **Returns** @@ -2335,7 +2337,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### num\_connected\_components - + How many non-entangled subcircuits can the circuit be factored to. **Parameters** @@ -2353,7 +2355,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### num\_nonlocal\_gates - + Return number of non-local gates (i.e. involving 2+ qubits). Conditional nonlocal gates are also included. @@ -2365,7 +2367,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### num\_tensor\_factors - + Computes the number of tensor factors in the unitary (quantum) part of the circuit only. **Notes** @@ -2379,7 +2381,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### num\_unitary\_factors - + Computes the number of tensor factors in the unitary (quantum) part of the circuit only. **Return type** @@ -2389,7 +2391,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### p - + Apply [`PhaseGate`](qiskit.circuit.library.PhaseGate "qiskit.circuit.library.PhaseGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2397,7 +2399,7 @@ python_api_name: qiskit.circuit.QuantumCircuit **Parameters** * **theta** ([*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") *|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – THe angle of the rotation. - * **qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + * **qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -2410,13 +2412,13 @@ python_api_name: qiskit.circuit.QuantumCircuit ### pauli - + Apply [`PauliGate`](qiskit.circuit.library.PauliGate "qiskit.circuit.library.PauliGate"). **Parameters** * **pauli\_string** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – A string representing the Pauli operator to apply, e.g. ‘XX’. - * **qubits** ([*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]]*) – The qubits to apply this gate to. + * **qubits** ([*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]]*) – The qubits to apply this gate to. **Returns** @@ -2429,7 +2431,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### power - + Raise this circuit to the power of `power`. If `power` is a positive integer and `matrix_power` is `False`, this implementation defaults to calling `repeat`. Otherwise, if the circuit is unitary, the matrix is computed to calculate the matrix power. @@ -2454,7 +2456,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### prepare\_state - + Prepare qubits in a specific state. This class implements a state preparing unitary. Unlike [`initialize()`](#qiskit.circuit.QuantumCircuit.initialize "qiskit.circuit.QuantumCircuit.initialize") it does not reset the qubits first. @@ -2549,7 +2551,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### qbit\_argument\_conversion - + Converts several qubit representations (such as indexes, range, etc.) into a list of qubits. **Parameters** @@ -2562,17 +2564,17 @@ python_api_name: qiskit.circuit.QuantumCircuit **Return type** - List([Qubit](qiskit.circuit.Qubit "qiskit.circuit.Qubit")) + List([Qubit](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")) ### qubit\_duration - + Return the duration between the start and stop time of the first and last instructions, excluding delays, over the supplied qubits. Its time unit is `self.unit`. **Parameters** - **\*qubits** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – Qubits within `self` to include. + **\*qubits** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – Qubits within `self` to include. **Returns** @@ -2585,14 +2587,14 @@ python_api_name: qiskit.circuit.QuantumCircuit ### qubit\_start\_time - + Return the start time of the first instruction, excluding delays, over the supplied qubits. Its time unit is `self.unit`. Return 0 if there are no instructions over qubits **Parameters** - * **\*qubits** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – Qubits within `self` to include. Integers are allowed for qubits, indicating + * **\*qubits** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – Qubits within `self` to include. Integers are allowed for qubits, indicating * **self.qubits.** (*indices of*) – **Returns** @@ -2610,14 +2612,14 @@ python_api_name: qiskit.circuit.QuantumCircuit ### qubit\_stop\_time - + Return the stop time of the last instruction, excluding delays, over the supplied qubits. Its time unit is `self.unit`. Return 0 if there are no instructions over qubits **Parameters** - * **\*qubits** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – Qubits within `self` to include. Integers are allowed for qubits, indicating + * **\*qubits** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – Qubits within `self` to include. Integers are allowed for qubits, indicating * **self.qubits.** (*indices of*) – **Returns** @@ -2635,7 +2637,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### r - + Apply [`RGate`](qiskit.circuit.library.RGate "qiskit.circuit.library.RGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2644,7 +2646,7 @@ python_api_name: qiskit.circuit.QuantumCircuit * **theta** ([*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") *|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – The angle of the rotation. * **phi** ([*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") *|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – The angle of the axis of rotation in the x-y plane. - * **qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + * **qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -2657,17 +2659,17 @@ python_api_name: qiskit.circuit.QuantumCircuit ### rcccx - + Apply [`RC3XGate`](qiskit.circuit.library.RC3XGate "qiskit.circuit.library.RC3XGate"). For the full matrix form of this gate, see the underlying gate documentation. **Parameters** - * **control\_qubit1** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) used as the first control. - * **control\_qubit2** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) used as the second control. - * **control\_qubit3** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) used as the third control. - * **target\_qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) targeted by the gate. + * **control\_qubit1** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) used as the first control. + * **control\_qubit2** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) used as the second control. + * **control\_qubit3** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) used as the third control. + * **target\_qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) targeted by the gate. **Returns** @@ -2680,16 +2682,16 @@ python_api_name: qiskit.circuit.QuantumCircuit ### rccx - + Apply [`RCCXGate`](qiskit.circuit.library.RCCXGate "qiskit.circuit.library.RCCXGate"). For the full matrix form of this gate, see the underlying gate documentation. **Parameters** - * **control\_qubit1** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) used as the first control. - * **control\_qubit2** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) used as the second control. - * **target\_qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) targeted by the gate. + * **control\_qubit1** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) used as the first control. + * **control\_qubit2** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) used as the second control. + * **target\_qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) targeted by the gate. **Returns** @@ -2702,7 +2704,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### remove\_final\_measurements - + Removes final measurements and barriers on all qubits if they are present. Deletes the classical registers that were used to store the values from these measurements that become idle as a result of this operation, and deletes classical bits that are referenced only by removed registers, or that aren’t referenced at all but have become idle as a result of this operation. Measurements and barriers are considered final if they are followed by no other operations (aside from other measurements or barriers.) @@ -2722,7 +2724,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### repeat - + Repeat this circuit `reps` times. **Parameters** @@ -2740,12 +2742,12 @@ python_api_name: qiskit.circuit.QuantumCircuit ### reset - + Reset the quantum bit(s) to their default state. **Parameters** - **qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – qubit(s) to reset. + **qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – qubit(s) to reset. **Returns** @@ -2758,7 +2760,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### reverse\_bits - + Return a circuit with the opposite order of wires. The circuit is “vertically” flipped. If a circuit is defined over multiple registers, the resulting circuit will have the same registers but with their order flipped. @@ -2810,7 +2812,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### reverse\_ops - + Reverse the circuit by reversing the order of instructions. This is done by recursively reversing all instructions. It does not invert (adjoint) any gate. @@ -2848,7 +2850,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### rv - + Apply [`RVGate`](qiskit.circuit.library.RVGate "qiskit.circuit.library.RVGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2860,7 +2862,7 @@ python_api_name: qiskit.circuit.QuantumCircuit * **vx** ([*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") *|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – x-component of the rotation axis. * **vy** ([*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") *|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – y-component of the rotation axis. * **vz** ([*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") *|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – z-component of the rotation axis. - * **qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + * **qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -2873,7 +2875,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### rx - + Apply [`RXGate`](qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2895,7 +2897,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### rxx - + Apply [`RXXGate`](qiskit.circuit.library.RXXGate "qiskit.circuit.library.RXXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2903,8 +2905,8 @@ python_api_name: qiskit.circuit.QuantumCircuit **Parameters** * **theta** ([*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") *|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – The angle of the rotation. - * **qubit1** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. - * **qubit2** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + * **qubit1** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + * **qubit2** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -2917,7 +2919,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### ry - + Apply [`RYGate`](qiskit.circuit.library.RYGate "qiskit.circuit.library.RYGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2939,7 +2941,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### ryy - + Apply [`RYYGate`](qiskit.circuit.library.RYYGate "qiskit.circuit.library.RYYGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2947,8 +2949,8 @@ python_api_name: qiskit.circuit.QuantumCircuit **Parameters** * **theta** ([*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") *|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – The rotation angle of the gate. - * **qubit1** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. - * **qubit2** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + * **qubit1** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + * **qubit2** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -2961,7 +2963,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### rz - + Apply [`RZGate`](qiskit.circuit.library.RZGate "qiskit.circuit.library.RZGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2969,7 +2971,7 @@ python_api_name: qiskit.circuit.QuantumCircuit **Parameters** * **phi** ([*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") *|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – The rotation angle of the gate. - * **qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + * **qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -2982,7 +2984,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### rzx - + Apply [`RZXGate`](qiskit.circuit.library.RZXGate "qiskit.circuit.library.RZXGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -2990,8 +2992,8 @@ python_api_name: qiskit.circuit.QuantumCircuit **Parameters** * **theta** ([*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") *|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – The rotation angle of the gate. - * **qubit1** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. - * **qubit2** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + * **qubit1** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + * **qubit2** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -3004,7 +3006,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### rzz - + Apply [`RZZGate`](qiskit.circuit.library.RZZGate "qiskit.circuit.library.RZZGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -3012,8 +3014,8 @@ python_api_name: qiskit.circuit.QuantumCircuit **Parameters** * **theta** ([*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") *|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – The rotation angle of the gate. - * **qubit1** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. - * **qubit2** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + * **qubit1** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + * **qubit2** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -3026,14 +3028,14 @@ python_api_name: qiskit.circuit.QuantumCircuit ### s - + Apply [`SGate`](qiskit.circuit.library.SGate "qiskit.circuit.library.SGate"). For the full matrix form of this gate, see the underlying gate documentation. **Parameters** - **qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + **qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -3046,14 +3048,14 @@ python_api_name: qiskit.circuit.QuantumCircuit ### sdg - + Apply [`SdgGate`](qiskit.circuit.library.SdgGate "qiskit.circuit.library.SdgGate"). For the full matrix form of this gate, see the underlying gate documentation. **Parameters** - **qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + **qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -3066,7 +3068,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### size - + Returns total number of instructions in circuit. **Parameters** @@ -3084,22 +3086,22 @@ python_api_name: qiskit.circuit.QuantumCircuit ### store - - Store the result of the given runtime classical expression `rvalue` in the memory location defined by `lvalue`. + + Store the result of the given real-time 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. + * **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`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") or [`ClassicalRegister`](circuit#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 real-time 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")** + **[`Store`](circuit#qiskit.circuit.Store "qiskit.circuit.Store")** The backing [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") class that represents this operation. @@ -3111,15 +3113,15 @@ python_api_name: qiskit.circuit.QuantumCircuit ### swap - + Apply [`SwapGate`](qiskit.circuit.library.SwapGate "qiskit.circuit.library.SwapGate"). For the full matrix form of this gate, see the underlying gate documentation. **Parameters** - * **qubit1** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubits to apply the gate to. - * **qubit2** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubits to apply the gate to. + * **qubit1** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubits to apply the gate to. + * **qubit2** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubits to apply the gate to. **Returns** @@ -3132,7 +3134,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### switch - + Create a `switch`/`case` structure on this circuit. There are two forms for calling this function. If called with all its arguments (with the possible exception of `label`), it will create a [`SwitchCaseOp`](qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp") with the given case structure. If `cases` (and `qubits` and `clbits`) are *not* passed, then this acts as a context manager, which will automatically build a [`SwitchCaseOp`](qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp") when the scope finishes. In this form, you do not need to keep track of the qubits or clbits you are using, because the scope will handle it for you. @@ -3158,10 +3160,10 @@ python_api_name: qiskit.circuit.QuantumCircuit **Parameters** - * **target** (*Union\[*[*ClassicalRegister*](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister")*,* [*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*]*) – The classical value to switch one. This must be integer-like. + * **target** (*Union\[*[*ClassicalRegister*](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister")*,* [*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*]*) – The classical value to switch one. This must be integer-like. * **cases** (*Iterable\[Tuple\[*[*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")*,* [*QuantumCircuit*](#qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*]]*) – A sequence of case specifiers. Each tuple defines one case body (the second item). The first item of the tuple can be either a single integer value, the special value [`CASE_DEFAULT`](circuit#qiskit.circuit.CASE_DEFAULT "qiskit.circuit.CASE_DEFAULT"), or a tuple of several integer values. Each of the integer values will be tried in turn; control will then pass to the body corresponding to the first match. [`CASE_DEFAULT`](circuit#qiskit.circuit.CASE_DEFAULT "qiskit.circuit.CASE_DEFAULT") matches all possible values. Omit in context-manager form. - * **qubits** (*Sequence\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*]*) – The circuit qubits over which all case bodies execute. Omit in context-manager form. - * **clbits** (*Sequence\[*[*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*]*) – The circuit clbits over which all case bodies execute. Omit in context-manager form. + * **qubits** (*Sequence\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*]*) – The circuit qubits over which all case bodies execute. Omit in context-manager form. + * **clbits** (*Sequence\[*[*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*]*) – The circuit clbits over which all case bodies execute. Omit in context-manager form. * **label** (*Optional\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*]*) – The string label of the instruction in the circuit. **Returns** @@ -3179,14 +3181,14 @@ python_api_name: qiskit.circuit.QuantumCircuit ### sx - + Apply [`SXGate`](qiskit.circuit.library.SXGate "qiskit.circuit.library.SXGate"). For the full matrix form of this gate, see the underlying gate documentation. **Parameters** - **qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + **qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -3199,14 +3201,14 @@ python_api_name: qiskit.circuit.QuantumCircuit ### sxdg - + Apply [`SXdgGate`](qiskit.circuit.library.SXdgGate "qiskit.circuit.library.SXdgGate"). For the full matrix form of this gate, see the underlying gate documentation. **Parameters** - **qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + **qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -3219,14 +3221,14 @@ python_api_name: qiskit.circuit.QuantumCircuit ### t - + Apply [`TGate`](qiskit.circuit.library.TGate "qiskit.circuit.library.TGate"). For the full matrix form of this gate, see the underlying gate documentation. **Parameters** - **qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + **qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -3239,14 +3241,14 @@ python_api_name: qiskit.circuit.QuantumCircuit ### tdg - + Apply [`TdgGate`](qiskit.circuit.library.TdgGate "qiskit.circuit.library.TdgGate"). For the full matrix form of this gate, see the underlying gate documentation. **Parameters** - **qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + **qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -3259,7 +3261,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### tensor - + Tensor `self` with `other`. Remember that in the little-endian convention the leftmost operation will be at the bottom of the circuit. See also [the docs](/build/circuit-construction) for more information. @@ -3306,7 +3308,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### to\_gate - + Create a Gate out of this circuit. **Parameters** @@ -3325,7 +3327,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### to\_instruction - + Create an Instruction out of this circuit. **Parameters** @@ -3344,7 +3346,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### u - + Apply [`UGate`](qiskit.circuit.library.UGate "qiskit.circuit.library.UGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -3354,7 +3356,7 @@ python_api_name: qiskit.circuit.QuantumCircuit * **theta** ([*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") *|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – The $\theta$ rotation angle of the gate. * **phi** ([*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") *|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – The $\phi$ rotation angle of the gate. * **lam** ([*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression") *|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – The $\lambda$ rotation angle of the gate. - * **qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + * **qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -3367,7 +3369,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### unitary - + Apply unitary gate specified by `obj` to `qubits`. **Parameters** @@ -3401,7 +3403,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### while\_loop - + Create a `while` loop on this circuit. There are two forms for calling this function. If called with all its arguments (with the possible exception of `label`), it will create a `WhileLoopOp` with the given `body`. If `body` (and `qubits` and `clbits`) are *not* passed, then this acts as a context manager, which will automatically build a `WhileLoopOp` when the scope finishes. In this form, you do not need to keep track of the qubits or clbits you are using, because the scope will handle it for you. @@ -3421,10 +3423,10 @@ python_api_name: qiskit.circuit.QuantumCircuit **Parameters** - * **condition** (*Tuple\[Union\[*[*ClassicalRegister*](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister")*,* [*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*],* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – An equality condition to be checked prior to executing `body`. The left-hand side of the condition must be a [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") or a [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit"), and the right-hand side must be an integer or boolean. + * **condition** (*Tuple\[Union\[*[*ClassicalRegister*](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister")*,* [*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*],* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – An equality condition to be checked prior to executing `body`. The left-hand side of the condition must be a [`ClassicalRegister`](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") or a [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit"), and the right-hand side must be an integer or boolean. * **body** (*Optional\[*[*QuantumCircuit*](#qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*]*) – The loop body to be repeatedly executed. Omit this to use the context-manager mode. - * **qubits** (*Optional\[Sequence\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*]]*) – The circuit qubits over which the loop body should be run. Omit this to use the context-manager mode. - * **clbits** (*Optional\[Sequence\[*[*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*]]*) – The circuit clbits over which the loop body should be run. Omit this to use the context-manager mode. + * **qubits** (*Optional\[Sequence\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*]]*) – The circuit qubits over which the loop body should be run. Omit this to use the context-manager mode. + * **clbits** (*Optional\[Sequence\[*[*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*]]*) – The circuit clbits over which the loop body should be run. Omit this to use the context-manager mode. * **label** (*Optional\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*]*) – The string label of the instruction in the circuit. **Returns** @@ -3442,7 +3444,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### width - + Return number of qubits plus clbits in circuit. **Returns** @@ -3456,7 +3458,7 @@ python_api_name: qiskit.circuit.QuantumCircuit ### x - + Apply [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.library.XGate"). For the full matrix form of this gate, see the underlying gate documentation. @@ -3477,14 +3479,14 @@ python_api_name: qiskit.circuit.QuantumCircuit ### y - + Apply [`YGate`](qiskit.circuit.library.YGate "qiskit.circuit.library.YGate"). For the full matrix form of this gate, see the underlying gate documentation. **Parameters** - **qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + **qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** @@ -3497,14 +3499,14 @@ python_api_name: qiskit.circuit.QuantumCircuit ### z - + Apply [`ZGate`](qiskit.circuit.library.ZGate "qiskit.circuit.library.ZGate"). For the full matrix form of this gate, see the underlying gate documentation. **Parameters** - **qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. + **qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*QuantumRegister*](circuit#qiskit.circuit.QuantumRegister "qiskit.circuit.quantumregister.QuantumRegister") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*slice*](https://docs.python.org/3/library/functions.html#slice "(in Python v3.12)") *|*[*Sequence*](https://docs.python.org/3/library/typing.html#typing.Sequence "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The qubit(s) to apply the gate to. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.QuantumRegister.mdx b/docs/api/qiskit/dev/qiskit.circuit.QuantumRegister.mdx deleted file mode 100644 index 8dc9f0a3164..00000000000 --- a/docs/api/qiskit/dev/qiskit.circuit.QuantumRegister.mdx +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: QuantumRegister -description: API reference for qiskit.circuit.QuantumRegister -in_page_toc_min_heading_level: 1 -python_api_type: class -python_api_name: qiskit.circuit.QuantumRegister ---- - -# QuantumRegister - - - Bases: [`Register`](qiskit.circuit.Register "qiskit.circuit.register.Register") - - Implement a quantum register. - - Create a new generic register. - - Either the `size` or the `bits` argument must be provided. If `size` is not None, the register will be pre-populated with bits of the correct type. - - **Parameters** - - * **size** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – Optional. The number of bits to include in the register. - * **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – Optional. The name of the register. If not provided, a unique name will be auto-generated from the register type. - * **bits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Bit*](qiskit.circuit.Bit "qiskit.circuit.Bit")*]*) – Optional. A list of Bit() instances to be used to populate the register. - - **Raises** - - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if both the `size` and `bits` arguments are provided, or if neither are. - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `size` is not valid. - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `name` is not a valid name according to the OpenQASM spec. - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `bits` contained duplicated bits. - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `bits` contained bits of an incorrect type. - - ## Attributes - - ### instances\_counter - - - - ### name - - - Get the register name. - - - ### prefix - - - - ### size - - - Get the register size. - - - ## Methods - - ### index - - - Find the index of the provided bit within this register. - - - diff --git a/docs/api/qiskit/dev/qiskit.circuit.Qubit.mdx b/docs/api/qiskit/dev/qiskit.circuit.Qubit.mdx deleted file mode 100644 index 1607673d137..00000000000 --- a/docs/api/qiskit/dev/qiskit.circuit.Qubit.mdx +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Qubit -description: API reference for qiskit.circuit.Qubit -in_page_toc_min_heading_level: 1 -python_api_type: class -python_api_name: qiskit.circuit.Qubit ---- - -# Qubit - - - Bases: [`Bit`](qiskit.circuit.Bit "qiskit.circuit.bit.Bit") - - Implement a quantum bit. - - Creates a qubit. - - **Parameters** - - * **register** ([*QuantumRegister*](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister")) – Optional. A quantum register containing the bit. - * **index** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – Optional. The index of the bit in its containing register. - - **Raises** - - [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if the provided register is not a valid [`QuantumRegister`](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister") - - diff --git a/docs/api/qiskit/dev/qiskit.circuit.Register.mdx b/docs/api/qiskit/dev/qiskit.circuit.Register.mdx deleted file mode 100644 index 8c2ec09f2fe..00000000000 --- a/docs/api/qiskit/dev/qiskit.circuit.Register.mdx +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: Register -description: API reference for qiskit.circuit.Register -in_page_toc_min_heading_level: 1 -python_api_type: class -python_api_name: qiskit.circuit.Register ---- - -# Register - - - Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") - - Implement a generic register. - - - This class should not be instantiated directly. This is just a superclass for [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") and [`QuantumRegister`](qiskit.circuit.QuantumRegister "qiskit.circuit.QuantumRegister"). - - - Create a new generic register. - - Either the `size` or the `bits` argument must be provided. If `size` is not None, the register will be pre-populated with bits of the correct type. - - **Parameters** - - * **size** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – Optional. The number of bits to include in the register. - * **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – Optional. The name of the register. If not provided, a unique name will be auto-generated from the register type. - * **bits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Bit*](qiskit.circuit.Bit "qiskit.circuit.Bit")*]*) – Optional. A list of Bit() instances to be used to populate the register. - - **Raises** - - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if both the `size` and `bits` arguments are provided, or if neither are. - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `size` is not valid. - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `name` is not a valid name according to the OpenQASM spec. - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `bits` contained duplicated bits. - * [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if `bits` contained bits of an incorrect type. - - ## Attributes - - ### bit\_type - - - - ### instances\_counter - - - - ### name - - - Get the register name. - - - ### prefix - - - - ### size - - - Get the register size. - - - ## Methods - - ### index - - - Find the index of the provided bit within this register. - - - diff --git a/docs/api/qiskit/dev/qiskit.circuit.Store.mdx b/docs/api/qiskit/dev/qiskit.circuit.Store.mdx deleted file mode 100644 index 3b461e7d4b1..00000000000 --- a/docs/api/qiskit/dev/qiskit.circuit.Store.mdx +++ /dev/null @@ -1,307 +0,0 @@ ---- -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 - - - 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 a decomposition of the instruction to the SessionEquivalenceLibrary. - - - ### assemble - - - Assemble a QasmQobjInstruction - - - ### broadcast\_arguments - - - 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 - - - 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 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 - - - 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 - - - Return True .IFF. instruction is parameterized else False - - - ### repeat - - - 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 - - - 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 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 - - - 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 - - - Instruction parameters has no validation or normalization. - - - diff --git a/docs/api/qiskit/dev/qiskit.circuit.SwitchCaseOp.mdx b/docs/api/qiskit/dev/qiskit.circuit.SwitchCaseOp.mdx index 9d2849a0286..4eef39897ae 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.SwitchCaseOp.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.SwitchCaseOp.mdx @@ -8,35 +8,16 @@ python_api_name: qiskit.circuit.SwitchCaseOp # SwitchCaseOp - + Bases: [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.controlflow.control_flow.ControlFlowOp") A circuit operation that executes one particular circuit block based on matching a given `target` against an ordered list of `values`. The special value [`CASE_DEFAULT`](circuit#qiskit.circuit.CASE_DEFAULT "qiskit.circuit.CASE_DEFAULT") can be used to represent a default condition. - This is the low-level interface for creating a switch-case statement; in general, the circuit method [`QuantumCircuit.switch()`](qiskit.circuit.QuantumCircuit#switch "qiskit.circuit.QuantumCircuit.switch") should be used as a context manager to access the builder interface. At the low level, you must ensure that all the circuit blocks contain equal numbers of qubits and clbits, and that the order the virtual bits of the containing circuit should be bound is the same for all blocks. This will likely mean that each circuit block is wider than its natural width, as each block must span the union of all the spaces covered by *any* of the blocks. - **Parameters** - * **target** ([*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit") *|*[*ClassicalRegister*](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") *|*[*expr.Expr*](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr")) – the runtime value to switch on. + * **target** ([*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") *|*[*ClassicalRegister*](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") *|*[*expr.Expr*](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr")) – the real-time value to switch on. * **cases** (*Iterable\[Tuple\[Any,* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*]]*) – an ordered iterable of the corresponding value of the `target` and the circuit block that should be executed if this is matched. There is no fall-through between blocks, and the order matters. - 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 @@ -129,7 +110,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### params - return instruction params. + The parameters of this [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction"). Ideally these will be gate angles. ### unit @@ -142,19 +123,19 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -173,7 +154,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -183,7 +164,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### cases - + Return a lookup table from case labels to the circuit that would be executed in that case. This object is not generally suitable for creating a new [`SwitchCaseOp`](#qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp") because any keys that point to the same object will not be grouped. @@ -195,7 +176,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### cases\_specifier - + Return an iterable where each element is a 2-tuple whose first element is a tuple of jump values, and whose second is the single circuit block that is associated with those values. This is an abstract specification of the jump table suitable for creating new [`SwitchCaseOp`](#qiskit.circuit.SwitchCaseOp "qiskit.circuit.SwitchCaseOp") instances. @@ -213,7 +194,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### copy - + Copy of the instruction. **Parameters** @@ -231,18 +212,18 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### inverse - + 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”. + If annotated is True, the inverse instruction is implemented as [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.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`. + **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`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). **Returns** @@ -255,14 +236,16 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### is\_parameterized - - Return True .IFF. instruction is parameterized else False + + Return whether the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). ### repeat - - Creates an instruction with gate repeated n amount of times. + + Creates an instruction with `self` repeated :math\`n\` times. + + If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. **Parameters** @@ -283,12 +266,33 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### replace\_blocks - - Replace blocks and return new instruction. :param blocks: Tuple of QuantumCircuits to replace in instruction. + + Return a new version of this control-flow operations with the [`blocks`](#qiskit.circuit.SwitchCaseOp.blocks "qiskit.circuit.SwitchCaseOp.blocks") mapped to the given new ones. + + Typically this is used in a workflow such as: + + ```python + existing_op = ... + + def map_block(block: QuantumCircuit) -> QuantumCircuit: + new_block = block.copy_empty_like() + # ... do something to `new_block` ... + return new_block + + new_op = existing_op.replace_blocks( + map_block(block) for block in existing_op.blocks + ) + ``` + + It is the caller’s responsibility to ensure that the mapped blocks are defined over a unified set of circuit resources, much like constructing a [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp") using its default constructor. + + **Parameters** + + **blocks** (*Iterable\[*[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*]*) – the new subcircuit blocks to use. **Returns** - New ControlFlowOp with replaced blocks. + New [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp") with replaced blocks. **Return type** @@ -297,7 +301,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### 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. @@ -315,7 +319,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### soft\_compare - + 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** @@ -333,7 +337,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### 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. @@ -341,7 +345,7 @@ python_api_name: qiskit.circuit.SwitchCaseOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/dev/qiskit.circuit.WhileLoopOp.mdx b/docs/api/qiskit/dev/qiskit.circuit.WhileLoopOp.mdx index 0301c7f1c90..4682b90962a 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.WhileLoopOp.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.WhileLoopOp.mdx @@ -8,49 +8,18 @@ python_api_name: qiskit.circuit.WhileLoopOp # WhileLoopOp - + Bases: [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.controlflow.control_flow.ControlFlowOp") A circuit operation which repeatedly executes a subcircuit (`body`) until a condition (`condition`) evaluates as False. - **Parameters** - - * **condition** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*ClassicalRegister*](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister")*,* [*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)")*\[*[*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*,* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*] |* [*expr.Expr*](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr")) – A condition to be checked prior to executing `body`. Can be specified as either a tuple of a `ClassicalRegister` to be tested for equality with a given `int`, or as a tuple of a `Clbit` to be compared to either a `bool` or an `int`. - * **body** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – The loop body to be repeatedly executed. - * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – An optional label for identifying the instruction. - The classical bits used in `condition` must be a subset of those attached to `body`. - **Circuit symbol:** - - ```python - ┌─────────────┐ - q_0: ┤0 ├ - │ │ - q_1: ┤1 ├ - │ while_loop │ - q_2: ┤2 ├ - │ │ - c_0: ╡0 ╞ - └─────────────┘ - ``` - - 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. + * **condition** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*ClassicalRegister*](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister")*,* [*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)")*\[*[*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*,* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*] |* [*expr.Expr*](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr")) – A condition to be checked prior to executing `body`. Can be specified as either a tuple of a `ClassicalRegister` to be tested for equality with a given `int`, or as a tuple of a `Clbit` to be compared to either a `bool` or an `int`. + * **body** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – The loop body to be repeatedly executed. + * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – An optional label for identifying the instruction. ## Attributes @@ -155,19 +124,19 @@ python_api_name: qiskit.circuit.WhileLoopOp ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -186,7 +155,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -196,7 +165,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### copy - + Copy of the instruction. **Parameters** @@ -214,18 +183,18 @@ python_api_name: qiskit.circuit.WhileLoopOp ### inverse - + 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”. + If annotated is True, the inverse instruction is implemented as [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.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`. + **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`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). **Returns** @@ -238,14 +207,16 @@ python_api_name: qiskit.circuit.WhileLoopOp ### is\_parameterized - - Return True .IFF. instruction is parameterized else False + + Return whether the [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") contains [compile-time parameters](circuit#circuit-compile-time-parameters). ### repeat - - Creates an instruction with gate repeated n amount of times. + + Creates an instruction with `self` repeated :math\`n\` times. + + If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. **Parameters** @@ -266,17 +237,38 @@ python_api_name: qiskit.circuit.WhileLoopOp ### replace\_blocks - - Replace blocks and return new instruction. :param blocks: Tuple of QuantumCircuits to replace in instruction. + + Return a new version of this control-flow operations with the [`blocks`](#qiskit.circuit.WhileLoopOp.blocks "qiskit.circuit.WhileLoopOp.blocks") mapped to the given new ones. + + Typically this is used in a workflow such as: + + ```python + existing_op = ... + + def map_block(block: QuantumCircuit) -> QuantumCircuit: + new_block = block.copy_empty_like() + # ... do something to `new_block` ... + return new_block + + new_op = existing_op.replace_blocks( + map_block(block) for block in existing_op.blocks + ) + ``` + + It is the caller’s responsibility to ensure that the mapped blocks are defined over a unified set of circuit resources, much like constructing a [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp") using its default constructor. + + **Parameters** + + **blocks** – the new subcircuit blocks to use. **Returns** - New ControlFlowOp with replaced blocks. + New [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp") with replaced blocks. ### 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. @@ -294,7 +286,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### soft\_compare - + 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** @@ -312,7 +304,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### 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. @@ -320,7 +312,7 @@ python_api_name: qiskit.circuit.WhileLoopOp ### validate\_parameter - + Instruction parameters has no validation or normalization. diff --git a/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.BooleanExpression.mdx b/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.BooleanExpression.mdx index a6f0a9e2763..05f27d8204d 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.BooleanExpression.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.BooleanExpression.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression # BooleanExpression - + Bases: `ClassicalElement` The Boolean Expression gate. @@ -107,7 +107,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -120,19 +120,19 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation and handling of the arguments and its relationship. For example, `cx([q[0],q[1]], q[2])` means `cx(q[0], q[2]); cx(q[1], q[2])`. This method yields the arguments in the right grouping. In the given example: @@ -185,7 +185,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -195,10 +195,10 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### control - + Return the controlled version of itself. - Implemented either as a controlled gate (ref. [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate")) or as an annotated operation (ref. `AnnotatedOperation`). + Implemented either as a controlled gate (ref. [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate")) or as an annotated operation (ref. [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation")). **Parameters** @@ -218,7 +218,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### copy - + Copy of the instruction. **Parameters** @@ -236,7 +236,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### from\_dimacs\_file - + Create a BooleanExpression from the string in the DIMACS format. :param filename: A file in DIMACS format. **Returns** @@ -254,18 +254,18 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### inverse - + 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”. + If annotated is True, the inverse instruction is implemented as [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.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`. + **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`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). **Returns** @@ -278,13 +278,13 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### is\_parameterized - - Return True .IFF. instruction is parameterized else False + + Return whether the `Instruction` contains [compile-time parameters](circuit#circuit-compile-time-parameters). ### power - + Creates a unitary gate as gate^exponent. **Parameters** @@ -306,8 +306,10 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### repeat - - Creates an instruction with gate repeated n amount of times. + + Creates an instruction with `self` repeated :math\`n\` times. + + If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. **Parameters** @@ -328,7 +330,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### 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. @@ -346,7 +348,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### simulate - + Evaluate the expression on a bitstring. This evaluation is done classically. @@ -366,7 +368,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### soft\_compare - + 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** @@ -384,7 +386,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### synth - + Synthesis the logic network into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). **Parameters** @@ -403,7 +405,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### to\_matrix - + Return a Numpy.array for the gate unitary matrix. **Returns** @@ -421,7 +423,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### 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. @@ -429,7 +431,7 @@ python_api_name: qiskit.circuit.classicalfunction.BooleanExpression ### validate\_parameter - + Gate parameters should be int, float, or ParameterExpression diff --git a/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.ClassicalFunction.mdx b/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.ClassicalFunction.mdx index 223db029fd7..6d9b39246ba 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.ClassicalFunction.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.ClassicalFunction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction # ClassicalFunction - + Bases: `ClassicalElement` Represent a classical function and its logic network. @@ -126,7 +126,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### qregs @@ -171,19 +171,19 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### add\_decomposition - + Add a decomposition of the instruction to the SessionEquivalenceLibrary. ### assemble - + Assemble a QasmQobjInstruction ### broadcast\_arguments - + Validation and handling of the arguments and its relationship. For example, `cx([q[0],q[1]], q[2])` means `cx(q[0], q[2]); cx(q[1], q[2])`. This method yields the arguments in the right grouping. In the given example: @@ -236,7 +236,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### c\_if - + Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. @@ -246,16 +246,16 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### compile - + Parses and creates the logical circuit ### control - + Return the controlled version of itself. - Implemented either as a controlled gate (ref. [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate")) or as an annotated operation (ref. `AnnotatedOperation`). + Implemented either as a controlled gate (ref. [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate")) or as an annotated operation (ref. [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation")). **Parameters** @@ -275,7 +275,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### copy - + Copy of the instruction. **Parameters** @@ -293,18 +293,18 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### inverse - + 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”. + If annotated is True, the inverse instruction is implemented as [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.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`. + **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`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). **Returns** @@ -317,13 +317,13 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### is\_parameterized - - Return True .IFF. instruction is parameterized else False + + Return whether the `Instruction` contains [compile-time parameters](circuit#circuit-compile-time-parameters). ### power - + Creates a unitary gate as gate^exponent. **Parameters** @@ -345,8 +345,10 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### repeat - - Creates an instruction with gate repeated n amount of times. + + Creates an instruction with `self` repeated :math\`n\` times. + + If this operation has a conditional, the output instruction will have the same conditional and the inner repeated operations will be unconditional; instructions within a compound definition cannot be conditioned on registers within Qiskit’s data model. This means that it is not valid to apply a repeated instruction to a clbit that it both writes to and reads from in its condition. **Parameters** @@ -367,7 +369,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### 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. @@ -385,7 +387,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### simulate - + Evaluate the expression on a bitstring. This evaluation is done classically. @@ -405,7 +407,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### simulate\_all - + Returns a truth table. **Returns** @@ -419,7 +421,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### soft\_compare - + 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** @@ -437,7 +439,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### synth - + Synthesis the logic network into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). **Parameters** @@ -458,7 +460,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### to\_matrix - + Return a Numpy.array for the gate unitary matrix. **Returns** @@ -476,7 +478,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### 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. @@ -484,7 +486,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunction ### validate\_parameter - + Gate parameters should be int, float, or ParameterExpression diff --git a/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeError.mdx b/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeError.mdx index 279641b52a0..c8cb29b90d1 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeError.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeError.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeE # qiskit.circuit.classicalfunction.ClassicalFunctionCompilerTypeError - + ClassicalFunction compiler type error. The classicalfunction function fails at type checking time. Set the error message. diff --git a/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.ClassicalFunctionParseError.mdx b/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.ClassicalFunctionParseError.mdx index 82f0a19d78f..4b37d0f91d0 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.ClassicalFunctionParseError.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.classicalfunction.ClassicalFunctionParseError.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.classicalfunction.ClassicalFunctionParseError # qiskit.circuit.classicalfunction.ClassicalFunctionParseError - + ClassicalFunction compiler parse error. The classicalfunction function fails at parsing time. Set the error message. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.AND.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.AND.mdx index cc23d188e88..e22abb54785 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.AND.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.AND.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.AND # AND - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") A circuit implementing the logical AND operation on a number of qubits. @@ -75,7 +75,7 @@ python_api_name: qiskit.circuit.library.AND ### instances - + ### layout @@ -104,7 +104,7 @@ python_api_name: qiskit.circuit.library.AND ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -118,7 +118,7 @@ python_api_name: qiskit.circuit.library.AND ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -126,7 +126,7 @@ python_api_name: qiskit.circuit.library.AND ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -146,7 +146,7 @@ python_api_name: qiskit.circuit.library.AND ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.Barrier.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.Barrier.mdx deleted file mode 100644 index ca63c122542..00000000000 --- a/docs/api/qiskit/dev/qiskit.circuit.library.Barrier.mdx +++ /dev/null @@ -1,271 +0,0 @@ ---- -title: Barrier -description: API reference for qiskit.circuit.library.Barrier -in_page_toc_min_heading_level: 1 -python_api_type: class -python_api_name: qiskit.circuit.library.Barrier ---- - -# Barrier - - - Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") - - Barrier instruction. - - A barrier is a visual indicator of the grouping of a circuit section. It also acts as a directive for circuit compilation to separate pieces of a circuit so that any optimizations or re-writes are constrained to only act between barriers. - - Create new barrier instruction. - - **Parameters** - - * **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – the number of qubits for the barrier type \[Default: 0]. - * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – the barrier label - - **Raises** - - [**TypeError**](https://docs.python.org/3/library/exceptions.html#TypeError "(in Python v3.12)") – if barrier label is invalid. - - ## 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.library.Barrier.base_class "qiskit.circuit.library.Barrier.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` 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 - - - ### 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. - - - ### unit - - - Get the time unit of duration. - - - ## Methods - - ### add\_decomposition - - - Add a decomposition of the instruction to the SessionEquivalenceLibrary. - - - ### assemble - - - Assemble a QasmQobjInstruction - - - ### broadcast\_arguments - - - 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 - - - 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 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 - - - Special case. Return self. - - - ### is\_parameterized - - - Return True .IFF. instruction is parameterized else False - - - ### repeat - - - 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 - - - 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 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 - - - 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 - - - Instruction parameters has no validation or normalization. - - - diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.C3SXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.C3SXGate.mdx index bbf3e323461..d90426693d7 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.C3SXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.C3SXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.C3SXGate # C3SXGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") The 3-qubit controlled sqrt-X gate. @@ -76,7 +76,7 @@ python_api_name: qiskit.circuit.library.C3SXGate ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.C3SXGate.ctrl_state "qiskit.circuit.library.C3SXGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.C3XGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.C3XGate.mdx index a1a19e35429..c214ae32530 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.C3XGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.C3XGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.C3XGate # C3XGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") The X gate controlled on 3 qubits. @@ -67,7 +67,7 @@ python_api_name: qiskit.circuit.library.C3XGate ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.C3XGate.ctrl_state "qiskit.circuit.library.C3XGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -154,14 +154,14 @@ python_api_name: qiskit.circuit.library.C3XGate ### control - + Controlled version of this gate. **Parameters** * **num\_ctrl\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – number of control qubits. * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – An optional label for the gate \[Default: `None`] - * **ctrl\_state** ([*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)") *| None*) – control state expressed as integer, string (e.g.\`\`’110’`), or ``None`. If `None`, use all 1s. + * **ctrl\_state** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – control state expressed as integer, string (e.g.\`\`’110’`), or ``None`. If `None`, use all 1s. * **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – indicates whether the controlled gate can be implemented as an annotated gate. **Returns** @@ -175,12 +175,12 @@ python_api_name: qiskit.circuit.library.C3XGate ### inverse - + Invert this gate. The C3X is its own inverse. **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.C4XGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.C4XGate.mdx index a02c88f7ff3..c27a32c254c 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.C4XGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.C4XGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.C4XGate # C4XGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") The 4-qubit controlled X gate. @@ -71,7 +71,7 @@ python_api_name: qiskit.circuit.library.C4XGate ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.C4XGate.ctrl_state "qiskit.circuit.library.C4XGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -158,14 +158,14 @@ python_api_name: qiskit.circuit.library.C4XGate ### control - + Controlled version of this gate. **Parameters** * **num\_ctrl\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – number of control qubits. * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – An optional label for the gate \[Default: `None`] - * **ctrl\_state** ([*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)") *| None*) – control state expressed as integer, string (e.g.\`\`’110’`), or ``None`. If `None`, use all 1s. + * **ctrl\_state** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – control state expressed as integer, string (e.g.\`\`’110’`), or ``None`. If `None`, use all 1s. * **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – indicates whether the controlled gate can be implemented as an annotated gate. **Returns** @@ -179,12 +179,12 @@ python_api_name: qiskit.circuit.library.C4XGate ### inverse - + Invert this gate. The C4X is its own inverse. **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CCXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CCXGate.mdx index af02a92b779..266f1175249 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CCXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CCXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CCXGate # CCXGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") CCX gate, also known as Toffoli gate. @@ -123,7 +123,7 @@ $$ ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.CCXGate.ctrl_state "qiskit.circuit.library.CCXGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -210,14 +210,14 @@ $$ ### control - + Controlled version of this gate. **Parameters** * **num\_ctrl\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – number of control qubits. * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – An optional label for the gate \[Default: `None`] - * **ctrl\_state** ([*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)") *| None*) – control state expressed as integer, string (e.g.\`\`’110’`), or ``None`. If `None`, use all 1s. + * **ctrl\_state** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – control state expressed as integer, string (e.g.\`\`’110’`), or ``None`. If `None`, use all 1s. * **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – indicates whether the controlled gate can be implemented as an annotated gate. **Returns** @@ -231,12 +231,12 @@ $$ ### inverse - + Return an inverted CCX gate (also a CCX). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CCZGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CCZGate.mdx index 6c56f5fdcb9..1dbbeeb857c 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CCZGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CCZGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CCZGate # CCZGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") CCZ gate. @@ -98,7 +98,7 @@ $$ ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.CCZGate.ctrl_state "qiskit.circuit.library.CCZGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -185,12 +185,12 @@ $$ ### inverse - + Return inverted CCZ gate (itself). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CDKMRippleCarryAdder.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CDKMRippleCarryAdder.mdx index 83b0d6ae861..e1cf13d3d62 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CDKMRippleCarryAdder.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CDKMRippleCarryAdder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CDKMRippleCarryAdder # CDKMRippleCarryAdder - + Bases: `Adder` A ripple-carry circuit to perform in-place addition on two qubit registers. @@ -121,7 +121,7 @@ python_api_name: qiskit.circuit.library.CDKMRippleCarryAdder ### instances - + ### layout @@ -150,7 +150,7 @@ python_api_name: qiskit.circuit.library.CDKMRippleCarryAdder ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -164,7 +164,7 @@ python_api_name: qiskit.circuit.library.CDKMRippleCarryAdder ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -172,7 +172,7 @@ python_api_name: qiskit.circuit.library.CDKMRippleCarryAdder ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -202,7 +202,7 @@ python_api_name: qiskit.circuit.library.CDKMRippleCarryAdder ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CHGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CHGate.mdx index 2e95b01d378..c193e328caf 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CHGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CHGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CHGate # CHGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") Controlled-Hadamard gate. @@ -113,7 +113,7 @@ $$ ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.CHGate.ctrl_state "qiskit.circuit.library.CHGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -200,7 +200,7 @@ $$ ### inverse - + Return inverted CH gate (itself). diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CPhaseGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CPhaseGate.mdx index 6b910de3715..c112ae25ec0 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CPhaseGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CPhaseGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CPhaseGate # CPhaseGate - + Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") Controlled-Phase gate. @@ -94,7 +94,7 @@ $$ ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.CPhaseGate.ctrl_state "qiskit.circuit.library.CPhaseGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -181,7 +181,7 @@ $$ ### control - + Controlled version of this gate. **Parameters** @@ -202,13 +202,13 @@ $$ ### inverse - + Return inverted CPhase gate ($CPhase(\lambda)^{\dagger} = CPhase(-\lambda)$) ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CRXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CRXGate.mdx index b3c2b1d32e5..4096d9ab881 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CRXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CRXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CRXGate # CRXGate - + Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") Controlled-RX gate. @@ -115,7 +115,7 @@ $$ ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.CRXGate.ctrl_state "qiskit.circuit.library.CRXGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -202,12 +202,12 @@ $$ ### inverse - + Return inverse CRX gate (i.e. with the negative rotation angle). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`CRXGate`](#qiskit.circuit.library.CRXGate "qiskit.circuit.library.CRXGate") with an inverted parameter value. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`CRXGate`](#qiskit.circuit.library.CRXGate "qiskit.circuit.library.CRXGate") with an inverted parameter value. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CRYGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CRYGate.mdx index f709fb44d15..9fa0ace7db4 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CRYGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CRYGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CRYGate # CRYGate - + Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") Controlled-RY gate. @@ -115,7 +115,7 @@ $$ ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.CRYGate.ctrl_state "qiskit.circuit.library.CRYGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -202,12 +202,12 @@ $$ ### inverse - + Return inverse CRY gate (i.e. with the negative rotation angle) **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`CRYGate`](#qiskit.circuit.library.CRYGate "qiskit.circuit.library.CRYGate") with an inverted parameter value. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`CRYGate`](#qiskit.circuit.library.CRYGate "qiskit.circuit.library.CRYGate") with an inverted parameter value. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CRZGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CRZGate.mdx index a99d87bffc0..210d0778e01 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CRZGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CRZGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CRZGate # CRZGate - + Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") Controlled-RZ gate. @@ -117,7 +117,7 @@ $$ ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.CRZGate.ctrl_state "qiskit.circuit.library.CRZGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -204,7 +204,7 @@ $$ ### inverse - + Return inverse CRZ gate (i.e. with the negative rotation angle). **Parameters** @@ -213,7 +213,7 @@ $$ **when set to `True`, this is typically used to return an** - `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`CRZGate`](#qiskit.circuit.library.CRZGate "qiskit.circuit.library.CRZGate") with an inverted parameter value. + [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`CRZGate`](#qiskit.circuit.library.CRZGate "qiskit.circuit.library.CRZGate") with an inverted parameter value. **Returns:** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CSGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CSGate.mdx index 05a35456ded..bfabbb6fb22 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CSGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CSGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CSGate # CSGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") Controlled-S gate. @@ -89,7 +89,7 @@ $$ ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.CSGate.ctrl_state "qiskit.circuit.library.CSGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -176,12 +176,12 @@ $$ ### inverse - + Return inverse of CSGate (CSdgGate). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`CSdgGate`](qiskit.circuit.library.CSdgGate "qiskit.circuit.library.CSdgGate"). + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`CSdgGate`](qiskit.circuit.library.CSdgGate "qiskit.circuit.library.CSdgGate"). **Returns** @@ -194,7 +194,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CSXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CSXGate.mdx index 6fd187f0abd..fcd983912c4 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CSXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CSXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CSXGate # CSXGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") Controlled-√X gate. @@ -111,7 +111,7 @@ $$ ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.CSXGate.ctrl_state "qiskit.circuit.library.CSXGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CSdgGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CSdgGate.mdx index 52020cb952f..cb5871d9739 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CSdgGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CSdgGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CSdgGate # CSdgGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") Controlled-S^dagger gate. @@ -89,7 +89,7 @@ $$ ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.CSdgGate.ctrl_state "qiskit.circuit.library.CSdgGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -176,12 +176,12 @@ $$ ### inverse - + Return inverse of CSdgGate (CSGate). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`CSGate`](qiskit.circuit.library.CSGate "qiskit.circuit.library.CSGate"). + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`CSGate`](qiskit.circuit.library.CSGate "qiskit.circuit.library.CSGate"). **Returns** @@ -194,7 +194,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CSwapGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CSwapGate.mdx index 943d9e7c880..a8c57bf7ca3 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CSwapGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CSwapGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CSwapGate # CSwapGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") Controlled-SWAP gate, also known as the Fredkin gate. @@ -132,7 +132,7 @@ $$ ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.CSwapGate.ctrl_state "qiskit.circuit.library.CSwapGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -219,12 +219,12 @@ $$ ### inverse - + Return inverse CSwap gate (itself). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CU1Gate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CU1Gate.mdx index ad04e8eaff9..482be8b9e99 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CU1Gate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CU1Gate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CU1Gate # CU1Gate - + Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") Controlled-U1 gate. @@ -92,7 +92,7 @@ $$ ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.CU1Gate.ctrl_state "qiskit.circuit.library.CU1Gate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -179,7 +179,7 @@ $$ ### control - + Controlled version of this gate. **Parameters** @@ -200,12 +200,12 @@ $$ ### inverse - + Return inverted CU1 gate ($CU1(\lambda)^{\dagger} = CU1(-\lambda))$ **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`CU1Gate`](#qiskit.circuit.library.CU1Gate "qiskit.circuit.library.CU1Gate") with inverse parameter values. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`CU1Gate`](#qiskit.circuit.library.CU1Gate "qiskit.circuit.library.CU1Gate") with inverse parameter values. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CU3Gate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CU3Gate.mdx index 946bca2ef51..1ecc3b1c23e 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CU3Gate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CU3Gate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CU3Gate # CU3Gate - + Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") Controlled-U3 gate (3-parameter two-qubit gate). @@ -117,7 +117,7 @@ $$ ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.CU3Gate.ctrl_state "qiskit.circuit.library.CU3Gate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -204,14 +204,14 @@ $$ ### inverse - + Return inverted CU3 gate. $CU3(\theta,\phi,\lambda)^{\dagger} =CU3(-\theta,-\phi,-\lambda))$ **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`CU3Gate`](#qiskit.circuit.library.CU3Gate "qiskit.circuit.library.CU3Gate") with inverse parameter values. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`CU3Gate`](#qiskit.circuit.library.CU3Gate "qiskit.circuit.library.CU3Gate") with inverse parameter values. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CUGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CUGate.mdx index a80b484b8b3..3334e64b859 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CUGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CUGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CUGate # CUGate - + Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") Controlled-U gate (4-parameter two-qubit gate). @@ -121,7 +121,7 @@ $$ ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.CUGate.ctrl_state "qiskit.circuit.library.CUGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -194,14 +194,14 @@ $$ ### inverse - + Return inverted CU gate. $CU(\theta,\phi,\lambda,\gamma)^{\dagger} = CU(-\theta,-\phi,-\lambda,-\gamma))$ **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`CUGate`](#qiskit.circuit.library.CUGate "qiskit.circuit.library.CUGate") with inverse parameter values. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`CUGate`](#qiskit.circuit.library.CUGate "qiskit.circuit.library.CUGate") with inverse parameter values. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CXGate.mdx index 0333d3ca643..17ef36a7647 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CXGate # CXGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") Controlled-X gate. @@ -119,7 +119,7 @@ $$ ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.CXGate.ctrl_state "qiskit.circuit.library.CXGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -206,14 +206,14 @@ $$ ### control - + Return a controlled-X gate with more control lines. **Parameters** * **num\_ctrl\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – number of control qubits. * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – An optional label for the gate \[Default: `None`] - * **ctrl\_state** ([*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)") *| None*) – control state expressed as integer, string (e.g.\`\`’110’`), or ``None`. If `None`, use all 1s. + * **ctrl\_state** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – control state expressed as integer, string (e.g.\`\`’110’`), or ``None`. If `None`, use all 1s. * **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – indicates whether the controlled gate can be implemented as an annotated gate. **Returns** @@ -227,12 +227,12 @@ $$ ### inverse - + Return inverted CX gate (itself). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CYGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CYGate.mdx index 3ec14c5abdb..630e0525e2f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CYGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CYGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CYGate # CYGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") Controlled-Y gate. @@ -111,7 +111,7 @@ $$ ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.CYGate.ctrl_state "qiskit.circuit.library.CYGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -198,12 +198,12 @@ $$ ### inverse - + Return inverted CY gate (itself). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CZGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.CZGate.mdx index d12aab79ee5..d92c841e6ec 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CZGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CZGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.CZGate # CZGate - + Bases: [`SingletonControlledGate`](circuit_singleton#qiskit.circuit.singleton.SingletonControlledGate "qiskit.circuit.singleton.SingletonControlledGate") Controlled-Z gate. @@ -92,7 +92,7 @@ $$ ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.CZGate.ctrl_state "qiskit.circuit.library.CZGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -179,12 +179,12 @@ $$ ### inverse - + Return inverted CZ gate (itself). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.DCXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.DCXGate.mdx index 3398c802567..68dd93881f0 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.DCXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.DCXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.DCXGate # DCXGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") Double-CNOT gate. @@ -127,7 +127,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.Diagonal.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.Diagonal.mdx index 579e4863315..6b3fe0084f2 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.Diagonal.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.Diagonal.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.Diagonal # Diagonal - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Diagonal circuit. @@ -132,7 +132,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -146,7 +146,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -154,7 +154,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -174,7 +174,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.DiagonalGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.DiagonalGate.mdx index cefed548edd..8e4c418f9ae 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.DiagonalGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.DiagonalGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.DiagonalGate # DiagonalGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Gate implementing a diagonal transformation. @@ -105,7 +105,7 @@ python_api_name: qiskit.circuit.library.DiagonalGate ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -118,13 +118,13 @@ python_api_name: qiskit.circuit.library.DiagonalGate ### inverse - + Return the inverse of the diagonal gate. ### validate\_parameter - + Diagonal Gate parameter should accept complex (in addition to the Gate parameter types) and always return build-in complex. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.DraperQFTAdder.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.DraperQFTAdder.mdx index 54d5f0dd338..643239d4df2 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.DraperQFTAdder.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.DraperQFTAdder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.DraperQFTAdder # DraperQFTAdder - + Bases: `Adder` A circuit that uses QFT to perform in-place addition on two qubit registers. @@ -121,7 +121,7 @@ python_api_name: qiskit.circuit.library.DraperQFTAdder ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -135,7 +135,7 @@ python_api_name: qiskit.circuit.library.DraperQFTAdder ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -143,7 +143,7 @@ python_api_name: qiskit.circuit.library.DraperQFTAdder ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -173,7 +173,7 @@ python_api_name: qiskit.circuit.library.DraperQFTAdder ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.ECRGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.ECRGate.mdx index d207e814e16..f5f8bc4041b 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.ECRGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.ECRGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.ECRGate # ECRGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") An echoed cross-resonance gate. @@ -151,7 +151,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -164,12 +164,12 @@ $$ ### inverse - + Return inverse ECR gate (itself). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.EfficientSU2.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.EfficientSU2.mdx index c9371feb7ab..b986f950409 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.EfficientSU2.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.EfficientSU2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.EfficientSU2 # EfficientSU2 - + Bases: [`TwoLocal`](qiskit.circuit.library.TwoLocal "qiskit.circuit.library.n_local.two_local.TwoLocal") The hardware efficient SU(2) 2-local circuit. @@ -183,7 +183,7 @@ python_api_name: qiskit.circuit.library.EfficientSU2 ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -197,7 +197,7 @@ python_api_name: qiskit.circuit.library.EfficientSU2 ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -205,7 +205,7 @@ python_api_name: qiskit.circuit.library.EfficientSU2 ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -253,7 +253,7 @@ python_api_name: qiskit.circuit.library.EfficientSU2 ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.EvolvedOperatorAnsatz.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.EvolvedOperatorAnsatz.mdx index d4e7c8fc197..6380f0d5bf5 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.EvolvedOperatorAnsatz.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.EvolvedOperatorAnsatz.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.EvolvedOperatorAnsatz # EvolvedOperatorAnsatz - + Bases: [`NLocal`](qiskit.circuit.library.NLocal "qiskit.circuit.library.n_local.n_local.NLocal") The evolved operator ansatz. @@ -147,7 +147,7 @@ python_api_name: qiskit.circuit.library.EvolvedOperatorAnsatz ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -161,7 +161,7 @@ python_api_name: qiskit.circuit.library.EvolvedOperatorAnsatz ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -169,7 +169,7 @@ python_api_name: qiskit.circuit.library.EvolvedOperatorAnsatz ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -217,7 +217,7 @@ python_api_name: qiskit.circuit.library.EvolvedOperatorAnsatz ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.ExactReciprocal.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.ExactReciprocal.mdx index 5a0beb0efde..44650e778d1 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.ExactReciprocal.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.ExactReciprocal.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.ExactReciprocal # ExactReciprocal - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Exact reciprocal @@ -101,7 +101,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -115,7 +115,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -123,7 +123,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -143,7 +143,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.ExcitationPreserving.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.ExcitationPreserving.mdx index ffc385c2e83..aae4618671f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.ExcitationPreserving.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.ExcitationPreserving.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.ExcitationPreserving # ExcitationPreserving - + Bases: [`TwoLocal`](qiskit.circuit.library.TwoLocal "qiskit.circuit.library.n_local.two_local.TwoLocal") The heuristic excitation-preserving wave function ansatz. @@ -202,7 +202,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -216,7 +216,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -224,7 +224,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -272,7 +272,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.FourierChecking.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.FourierChecking.mdx index c75e7b306be..de3c0de715c 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.FourierChecking.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.FourierChecking.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.FourierChecking # FourierChecking - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Fourier checking circuit. @@ -115,7 +115,7 @@ python_api_name: qiskit.circuit.library.FourierChecking ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -129,7 +129,7 @@ python_api_name: qiskit.circuit.library.FourierChecking ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -137,7 +137,7 @@ python_api_name: qiskit.circuit.library.FourierChecking ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -157,7 +157,7 @@ python_api_name: qiskit.circuit.library.FourierChecking ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.FunctionalPauliRotations.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.FunctionalPauliRotations.mdx index 099480a4f00..a7850ac21c9 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.FunctionalPauliRotations.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.FunctionalPauliRotations.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.FunctionalPauliRotations # FunctionalPauliRotations - + Bases: `BlueprintCircuit`, [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Base class for functional Pauli rotations. @@ -106,7 +106,7 @@ python_api_name: qiskit.circuit.library.FunctionalPauliRotations ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -120,7 +120,7 @@ python_api_name: qiskit.circuit.library.FunctionalPauliRotations ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -128,7 +128,7 @@ python_api_name: qiskit.circuit.library.FunctionalPauliRotations ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -156,7 +156,7 @@ python_api_name: qiskit.circuit.library.FunctionalPauliRotations ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GMS.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GMS.mdx index d63eea1fe44..2660c464957 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GMS.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GMS.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.GMS # GMS - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Global Mølmer–Sørensen gate. @@ -124,7 +124,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -138,7 +138,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -146,7 +146,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -166,7 +166,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GR.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GR.mdx index 6910aa26780..56510f10a65 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GR.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GR.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.GR # GR - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Global R gate. @@ -118,7 +118,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -132,7 +132,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -140,7 +140,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -160,7 +160,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GRX.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GRX.mdx index 967d342b64a..aefaccc3a74 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GRX.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GRX.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.GRX # GRX - + Bases: [`GR`](qiskit.circuit.library.GR "qiskit.circuit.library.generalized_gates.gr.GR") Global RX gate. @@ -117,7 +117,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -131,7 +131,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -139,7 +139,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -159,7 +159,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GRY.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GRY.mdx index 59b434845d9..a3d7cac9bd2 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GRY.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GRY.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.GRY # GRY - + Bases: [`GR`](qiskit.circuit.library.GR "qiskit.circuit.library.generalized_gates.gr.GR") Global RY gate. @@ -88,7 +88,7 @@ $$ ### instances - + ### layout @@ -117,7 +117,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -131,7 +131,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -139,7 +139,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -159,7 +159,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GRZ.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GRZ.mdx index f9ebce303fe..2fbffe19c28 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GRZ.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GRZ.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.GRZ # GRZ - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Global RZ gate. @@ -88,7 +88,7 @@ $$ ### instances - + ### layout @@ -117,7 +117,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -131,7 +131,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -139,7 +139,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -159,7 +159,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GlobalPhaseGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GlobalPhaseGate.mdx index 4401a6db8b5..ac97c66fb32 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GlobalPhaseGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GlobalPhaseGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.GlobalPhaseGate # GlobalPhaseGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") The global phase gate ($e^{i\theta}$). @@ -119,7 +119,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -132,14 +132,14 @@ $$ ### inverse - + Return inverse GlobalPhaseGate gate. $\text{GlobalPhaseGate}(\lambda)^{\dagger} = \text{GlobalPhaseGate}(-\lambda)$ **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse is always another [`GlobalPhaseGate`](#qiskit.circuit.library.GlobalPhaseGate "qiskit.circuit.library.GlobalPhaseGate") with an inverted parameter value. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse is always another [`GlobalPhaseGate`](#qiskit.circuit.library.GlobalPhaseGate "qiskit.circuit.library.GlobalPhaseGate") with an inverted parameter value. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GraphState.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GraphState.mdx index 89b1f4bc457..29b8a3cc44d 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GraphState.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GraphState.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.GraphState # GraphState - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Circuit to prepare a graph state. @@ -93,7 +93,7 @@ $$ ### instances - + ### layout @@ -122,7 +122,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -136,7 +136,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -144,7 +144,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -164,7 +164,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GroverOperator.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.GroverOperator.mdx index 5e7c6a0f770..73b0153867a 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GroverOperator.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GroverOperator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.GroverOperator # GroverOperator - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") The Grover operator. @@ -204,7 +204,7 @@ $$ ### instances - + ### layout @@ -233,7 +233,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -247,7 +247,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -255,7 +255,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -275,7 +275,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.HGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.HGate.mdx index 5424f8f0737..ec0056e1fe8 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.HGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.HGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.HGate # HGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") Single-qubit Hadamard gate. @@ -125,7 +125,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -138,7 +138,7 @@ $$ ### control - + Return a (multi-)controlled-H gate. One control qubit returns a CH gate. @@ -161,12 +161,12 @@ $$ ### inverse - + Return inverted H gate (itself). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.HRSCumulativeMultiplier.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.HRSCumulativeMultiplier.mdx index 47114b843e4..cd131d9069c 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.HRSCumulativeMultiplier.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.HRSCumulativeMultiplier.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.HRSCumulativeMultiplier # HRSCumulativeMultiplier - + Bases: `Multiplier` A multiplication circuit to store product of two input registers out-of-place. @@ -105,7 +105,7 @@ python_api_name: qiskit.circuit.library.HRSCumulativeMultiplier ### instances - + ### layout @@ -134,7 +134,7 @@ python_api_name: qiskit.circuit.library.HRSCumulativeMultiplier ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -148,7 +148,7 @@ python_api_name: qiskit.circuit.library.HRSCumulativeMultiplier ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -156,7 +156,7 @@ python_api_name: qiskit.circuit.library.HRSCumulativeMultiplier ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -196,7 +196,7 @@ python_api_name: qiskit.circuit.library.HRSCumulativeMultiplier ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.HamiltonianGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.HamiltonianGate.mdx index 8ee8771ca48..998bfb22d5f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.HamiltonianGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.HamiltonianGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.HamiltonianGate # HamiltonianGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Class for representing evolution by a Hamiltonian operator as a gate. @@ -113,7 +113,7 @@ python_api_name: qiskit.circuit.library.HamiltonianGate ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -126,31 +126,31 @@ python_api_name: qiskit.circuit.library.HamiltonianGate ### adjoint - + Return the adjoint of the unitary. ### conjugate - + Return the conjugate of the Hamiltonian. ### inverse - + Return the adjoint of the unitary. ### transpose - + Return the transpose of the Hamiltonian. ### validate\_parameter - + Hamiltonian parameter has to be an ndarray, operator or float. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.HiddenLinearFunction.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.HiddenLinearFunction.mdx index 24b9e37393b..0f566f0d122 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.HiddenLinearFunction.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.HiddenLinearFunction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.HiddenLinearFunction # HiddenLinearFunction - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Circuit to solve the hidden linear function problem. @@ -95,7 +95,7 @@ $$ ### instances - + ### layout @@ -124,7 +124,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -138,7 +138,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -146,7 +146,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -166,7 +166,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.IGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.IGate.mdx index c52c26420e9..706138a30d9 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.IGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.IGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.IGate # IGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") Identity gate. @@ -124,7 +124,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -137,12 +137,12 @@ $$ ### inverse - + Returne the inverse gate (itself). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** @@ -157,7 +157,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.IQP.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.IQP.mdx index e55dcec39fe..7c6ab4f3dd2 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.IQP.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.IQP.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.IQP # IQP - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Instantaneous quantum polynomial (IQP) circuit. @@ -83,7 +83,7 @@ python_api_name: qiskit.circuit.library.IQP ### instances - + ### layout @@ -112,7 +112,7 @@ python_api_name: qiskit.circuit.library.IQP ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -126,7 +126,7 @@ python_api_name: qiskit.circuit.library.IQP ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -134,7 +134,7 @@ python_api_name: qiskit.circuit.library.IQP ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -154,7 +154,7 @@ python_api_name: qiskit.circuit.library.IQP ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.Initialize.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.Initialize.mdx index b4c07e9d3cb..460eb71aae4 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.Initialize.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.Initialize.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.Initialize # Initialize - + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") Complex amplitude initialization. @@ -130,7 +130,7 @@ python_api_name: qiskit.circuit.library.Initialize ### broadcast\_arguments - + Validation of the arguments. **Parameters** @@ -149,7 +149,7 @@ python_api_name: qiskit.circuit.library.Initialize ### gates\_to\_uncompute - + Call to create a circuit with gates that take the desired vector to zero. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.InnerProduct.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.InnerProduct.mdx index 46a781f59cf..c82cec80bf4 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.InnerProduct.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.InnerProduct.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.InnerProduct # InnerProduct - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") A 2n-qubit Boolean function that computes the inner product of two n-qubit vectors over $F_2$. @@ -94,7 +94,7 @@ $$ ### instances - + ### layout @@ -123,7 +123,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -137,7 +137,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -145,7 +145,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -165,7 +165,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.IntegerComparator.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.IntegerComparator.mdx index e4150f79c0e..2644e62f402 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.IntegerComparator.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.IntegerComparator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.IntegerComparator # IntegerComparator - + Bases: `BlueprintCircuit` Integer Comparator. @@ -74,7 +74,7 @@ $$ ### instances - + ### layout @@ -103,7 +103,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -117,7 +117,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -125,7 +125,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -153,7 +153,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.Isometry.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.Isometry.mdx index d1df19211e2..6699dfea79b 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.Isometry.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.Isometry.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.Isometry # Isometry - + Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") Decomposition of arbitrary isometries from $m$ to $n$ qubits. @@ -118,7 +118,7 @@ python_api_name: qiskit.circuit.library.Isometry ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -131,24 +131,24 @@ python_api_name: qiskit.circuit.library.Isometry ### inv\_gate - + Return the adjoint of the unitary. ### inverse - + 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”. + If annotated is True, the inverse instruction is implemented as [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.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`. + **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`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). **Returns** @@ -161,7 +161,7 @@ python_api_name: qiskit.circuit.library.Isometry ### validate\_parameter - + Isometry parameter has to be an ndarray. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.LinearAmplitudeFunction.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.LinearAmplitudeFunction.mdx index baf00225c69..4a739d2a956 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.LinearAmplitudeFunction.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.LinearAmplitudeFunction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.LinearAmplitudeFunction # LinearAmplitudeFunction - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") A circuit implementing a (piecewise) linear function on qubit amplitudes. @@ -109,7 +109,7 @@ $$ ### instances - + ### layout @@ -138,7 +138,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -152,7 +152,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -160,7 +160,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -180,7 +180,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. @@ -273,7 +273,7 @@ $$ ### post\_processing - + Map the function value of the approximated $\hat{f}$ to $f$. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.LinearFunction.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.LinearFunction.mdx index 846e0c569e6..625aa87b86c 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.LinearFunction.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.LinearFunction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.LinearFunction # LinearFunction - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") A linear reversible circuit on n qubits. @@ -154,7 +154,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -167,7 +167,7 @@ $$ ### extend\_with\_identity - + Extend linear function to a linear function over nq qubits, with identities on other subsystems. **Parameters** @@ -186,13 +186,13 @@ $$ ### function\_str - + Return string representation of the linear function viewed as a linear transformation. ### is\_permutation - + Returns whether this linear function is a permutation, that is whether every row and every column of the n x n matrix has exactly one 1. **Return type** @@ -202,19 +202,19 @@ $$ ### mat\_str - + Return string representation of the linear function viewed as a matrix with 0/1 entries. ### permutation\_pattern - + This method first checks if a linear function is a permutation and raises a qiskit.circuit.exceptions.CircuitError if not. In the case that this linear function is a permutation, returns the permutation pattern. ### synthesize - + Synthesizes the linear function into a quantum circuit. **Returns** @@ -228,7 +228,7 @@ $$ ### validate\_parameter - + Parameter validation diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.LinearPauliRotations.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.LinearPauliRotations.mdx index ca14232d857..5594cb2d620 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.LinearPauliRotations.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.LinearPauliRotations.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.LinearPauliRotations # LinearPauliRotations - + Bases: [`FunctionalPauliRotations`](qiskit.circuit.library.FunctionalPauliRotations "qiskit.circuit.library.arithmetic.functional_pauli_rotations.FunctionalPauliRotations") Linearly-controlled X, Y or Z rotation. @@ -90,7 +90,7 @@ $$ ### instances - + ### layout @@ -129,7 +129,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -143,7 +143,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -151,7 +151,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -179,7 +179,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCMT.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MCMT.mdx index f0277a7ccdc..6bb920e2665 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MCMT.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCMT.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.MCMT # MCMT - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") The multi-controlled multi-target gate, for an arbitrary singly controlled target gate. @@ -34,7 +34,7 @@ python_api_name: qiskit.circuit.library.MCMT **Parameters** - * **gate** ([*Gate*](qiskit.circuit.Gate "qiskit.circuit.Gate") *| Callable\[\[*[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*,* [*circuit.Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*,* [*circuit.Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*],* [*circuit.Instruction*](qiskit.circuit.Instruction "qiskit.circuit.Instruction")*]*) – The gate to be applied controlled on the control qubits and applied to the target qubits. Can be either a Gate or a circuit method. If it is a callable, it will be casted to a Gate. + * **gate** ([*Gate*](qiskit.circuit.Gate "qiskit.circuit.Gate") *| Callable\[\[*[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*,* [*circuit.Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*,* [*circuit.Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*],* [*circuit.Instruction*](qiskit.circuit.Instruction "qiskit.circuit.Instruction")*]*) – The gate to be applied controlled on the control qubits and applied to the target qubits. Can be either a Gate or a circuit method. If it is a callable, it will be casted to a Gate. * **num\_ctrl\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – The number of control qubits. * **num\_target\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – The number of target qubits. @@ -87,7 +87,7 @@ python_api_name: qiskit.circuit.library.MCMT ### instances - + ### layout @@ -122,7 +122,7 @@ python_api_name: qiskit.circuit.library.MCMT ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -136,7 +136,7 @@ python_api_name: qiskit.circuit.library.MCMT ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -144,7 +144,7 @@ python_api_name: qiskit.circuit.library.MCMT ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -164,7 +164,7 @@ python_api_name: qiskit.circuit.library.MCMT ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. @@ -257,13 +257,13 @@ python_api_name: qiskit.circuit.library.MCMT ### control - + Return the controlled version of the MCMT circuit. ### inverse - + Return the inverse MCMT circuit, which is itself. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCMTVChain.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MCMTVChain.mdx index 5633437295a..5d31c330d43 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MCMTVChain.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCMTVChain.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.MCMTVChain # MCMTVChain - + Bases: [`MCMT`](qiskit.circuit.library.MCMT "qiskit.circuit.library.generalized_gates.mcmt.MCMT") The MCMT implementation using the CCX V-chain. @@ -58,7 +58,7 @@ python_api_name: qiskit.circuit.library.MCMTVChain **Parameters** - * **gate** ([*Gate*](qiskit.circuit.Gate "qiskit.circuit.Gate") *| Callable\[\[*[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*,* [*circuit.Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*,* [*circuit.Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*],* [*circuit.Instruction*](qiskit.circuit.Instruction "qiskit.circuit.Instruction")*]*) – The gate to be applied controlled on the control qubits and applied to the target qubits. Can be either a Gate or a circuit method. If it is a callable, it will be casted to a Gate. + * **gate** ([*Gate*](qiskit.circuit.Gate "qiskit.circuit.Gate") *| Callable\[\[*[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*,* [*circuit.Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*,* [*circuit.Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*],* [*circuit.Instruction*](qiskit.circuit.Instruction "qiskit.circuit.Instruction")*]*) – The gate to be applied controlled on the control qubits and applied to the target qubits. Can be either a Gate or a circuit method. If it is a callable, it will be casted to a Gate. * **num\_ctrl\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – The number of control qubits. * **num\_target\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – The number of target qubits. @@ -111,7 +111,7 @@ python_api_name: qiskit.circuit.library.MCMTVChain ### instances - + ### layout @@ -146,7 +146,7 @@ python_api_name: qiskit.circuit.library.MCMTVChain ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -160,7 +160,7 @@ python_api_name: qiskit.circuit.library.MCMTVChain ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -168,7 +168,7 @@ python_api_name: qiskit.circuit.library.MCMTVChain ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -188,7 +188,7 @@ python_api_name: qiskit.circuit.library.MCMTVChain ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. @@ -281,7 +281,7 @@ python_api_name: qiskit.circuit.library.MCMTVChain ### inverse - + Return the inverse MCMT circuit, which is itself. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCPhaseGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MCPhaseGate.mdx index 0039897a9ab..db7ddb9ed18 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MCPhaseGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCPhaseGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.MCPhaseGate # MCPhaseGate - + Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") Multi-controlled-Phase gate. @@ -86,7 +86,7 @@ python_api_name: qiskit.circuit.library.MCPhaseGate ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.MCPhaseGate.ctrl_state "qiskit.circuit.library.MCPhaseGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -173,7 +173,7 @@ python_api_name: qiskit.circuit.library.MCPhaseGate ### control - + Controlled version of this gate. **Parameters** @@ -194,8 +194,8 @@ python_api_name: qiskit.circuit.library.MCPhaseGate ### inverse - - Return inverted MCU1 gate ($MCU1(\lambda)^{\dagger} = MCU1(-\lambda)$) + + Return inverted MCPhase gate ($MCPhase(\lambda)^{\dagger} = MCPhase(-\lambda)$) diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MCXGate.mdx index 3e2219a59af..522aba7f980 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MCXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.MCXGate # MCXGate - + Bases: [`ControlledGate`](qiskit.circuit.ControlledGate "qiskit.circuit.controlledgate.ControlledGate") The general, multi-controlled X gate. @@ -67,7 +67,7 @@ python_api_name: qiskit.circuit.library.MCXGate ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.MCXGate.ctrl_state "qiskit.circuit.library.MCXGate.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -160,14 +160,14 @@ python_api_name: qiskit.circuit.library.MCXGate ### control - + Return a multi-controlled-X gate with more control lines. **Parameters** * **num\_ctrl\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – number of control qubits. * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – An optional label for the gate \[Default: `None`] - * **ctrl\_state** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – control state expressed as integer, string (e.g.\`\`’110’`), or ``None`. If `None`, use all 1s. + * **ctrl\_state** ([*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)") *| None*) – control state expressed as integer, string (e.g.\`\`’110’`), or ``None`. If `None`, use all 1s. * **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – indicates whether the controlled gate can be implemented as an annotated gate. **Returns** @@ -181,7 +181,7 @@ python_api_name: qiskit.circuit.library.MCXGate ### get\_num\_ancilla\_qubits - + Get the number of required ancilla qubits without instantiating the class. This staticmethod might be necessary to check the number of ancillas before creating the gate, or to use the number of ancillas in the initialization. @@ -193,12 +193,12 @@ python_api_name: qiskit.circuit.library.MCXGate ### inverse - + Invert this gate. The MCX is its own inverse. **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCXGrayCode.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MCXGrayCode.mdx index ff9c600bad9..e49cbdd3e5a 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MCXGrayCode.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCXGrayCode.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.MCXGrayCode # MCXGrayCode - + Bases: [`MCXGate`](qiskit.circuit.library.MCXGate "qiskit.circuit.library.standard_gates.x.MCXGate") Implement the multi-controlled X gate using the Gray code. @@ -67,7 +67,7 @@ python_api_name: qiskit.circuit.library.MCXGrayCode ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.MCXGrayCode.ctrl_state "qiskit.circuit.library.MCXGrayCode.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -160,12 +160,12 @@ python_api_name: qiskit.circuit.library.MCXGrayCode ### inverse - + Invert this gate. The MCX is its own inverse. **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCXRecursive.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MCXRecursive.mdx index d332c3507e8..60a17831652 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MCXRecursive.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCXRecursive.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.MCXRecursive # MCXRecursive - + Bases: [`MCXGate`](qiskit.circuit.library.MCXGate "qiskit.circuit.library.standard_gates.x.MCXGate") Implement the multi-controlled X gate using recursion. @@ -67,7 +67,7 @@ python_api_name: qiskit.circuit.library.MCXRecursive ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.MCXRecursive.ctrl_state "qiskit.circuit.library.MCXRecursive.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -160,18 +160,18 @@ python_api_name: qiskit.circuit.library.MCXRecursive ### get\_num\_ancilla\_qubits - + Get the number of required ancilla qubits. ### inverse - + Invert this gate. The MCX is its own inverse. **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCXVChain.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MCXVChain.mdx index 91027b7d716..5b82472437c 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MCXVChain.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCXVChain.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.MCXVChain # MCXVChain - + Bases: [`MCXGate`](qiskit.circuit.library.MCXGate "qiskit.circuit.library.standard_gates.x.MCXGate") Implement the multi-controlled X gate using a V-chain of CX gates. @@ -65,7 +65,7 @@ python_api_name: qiskit.circuit.library.MCXVChain ### definition - Return definition in terms of other basic gates. If the gate has open controls, as determined from self.ctrl\_state, the returned definition is conjugated with X without changing the internal \_definition. + Return definition in terms of other basic gates. If the gate has open controls, as determined from [`ctrl_state`](#qiskit.circuit.library.MCXVChain.ctrl_state "qiskit.circuit.library.MCXVChain.ctrl_state"), the returned definition is conjugated with X without changing the internal `_definition`. ### duration @@ -158,18 +158,18 @@ python_api_name: qiskit.circuit.library.MCXVChain ### get\_num\_ancilla\_qubits - + Get the number of required ancilla qubits. ### inverse - + Invert this gate. The MCX is its own inverse. **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MSGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.MSGate.mdx index c531f35d8bb..d5b01a871df 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MSGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MSGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.MSGate # MSGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") MSGate has been deprecated. Please use `GMS` in `qiskit.circuit.generalized_gates` instead. @@ -109,7 +109,7 @@ python_api_name: qiskit.circuit.library.MSGate ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.Measure.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.Measure.mdx deleted file mode 100644 index 0f2d73f84c6..00000000000 --- a/docs/api/qiskit/dev/qiskit.circuit.library.Measure.mdx +++ /dev/null @@ -1,278 +0,0 @@ ---- -title: Measure -description: API reference for qiskit.circuit.library.Measure -in_page_toc_min_heading_level: 1 -python_api_type: class -python_api_name: qiskit.circuit.library.Measure ---- - -# Measure - - - Bases: [`SingletonInstruction`](circuit_singleton#qiskit.circuit.singleton.SingletonInstruction "qiskit.circuit.singleton.SingletonInstruction") - - Quantum measurement in the computational basis. - - Create new measurement instruction. - - ## 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.library.Measure.base_class "qiskit.circuit.library.Measure.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` 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 - - - ### 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. - - - ### unit - - - Get the time unit of duration. - - - ## Methods - - ### add\_decomposition - - - Add a decomposition of the instruction to the SessionEquivalenceLibrary. - - - ### assemble - - - Assemble a QasmQobjInstruction - - - ### broadcast\_arguments - - - 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 - - - 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 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 - - - 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 - - - Return True .IFF. instruction is parameterized else False - - - ### repeat - - - 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 - - - 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 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 - - - 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 - - - Instruction parameters has no validation or normalization. - - - diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.NLocal.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.NLocal.mdx index 8d668a1c993..e0260913a6a 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.NLocal.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.NLocal.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.NLocal # NLocal - + Bases: `BlueprintCircuit` The n-local circuit class. @@ -140,7 +140,7 @@ python_api_name: qiskit.circuit.library.NLocal ### instances - + ### layout @@ -169,7 +169,7 @@ python_api_name: qiskit.circuit.library.NLocal ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -183,7 +183,7 @@ python_api_name: qiskit.circuit.library.NLocal ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -191,7 +191,7 @@ python_api_name: qiskit.circuit.library.NLocal ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -239,7 +239,7 @@ python_api_name: qiskit.circuit.library.NLocal ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. @@ -350,7 +350,7 @@ python_api_name: qiskit.circuit.library.NLocal ### add\_layer - + Append another layer to the NLocal. **Parameters** @@ -374,7 +374,7 @@ python_api_name: qiskit.circuit.library.NLocal ### assign\_parameters - + Assign parameters to the n-local circuit. This method also supports passing a list instead of a dictionary. If a list is passed, the list must have the same length as the number of unbound parameters in the circuit. The parameters are assigned in the order of the parameters in [`ordered_parameters()`](#qiskit.circuit.library.NLocal.ordered_parameters "qiskit.circuit.library.NLocal.ordered_parameters"). @@ -394,7 +394,7 @@ python_api_name: qiskit.circuit.library.NLocal ### get\_entangler\_map - + Get the entangler map for in the repetition `rep_num` and the block `block_num`. The entangler map for the current block is derived from the value of `self.entanglement`. Below the different cases are listed, where `i` and `j` denote the repetition number and the block number, respectively, and `n` the number of qubits in the block. @@ -435,7 +435,7 @@ python_api_name: qiskit.circuit.library.NLocal ### get\_unentangled\_qubits - + Get the indices of unentangled qubits in a set. **Returns** @@ -449,7 +449,7 @@ python_api_name: qiskit.circuit.library.NLocal ### print\_settings - + Returns information about the setting. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.OR.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.OR.mdx index 0ffc8dd9f4b..265e04e61d9 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.OR.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.OR.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.OR # OR - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") A circuit implementing the logical OR operation on a number of qubits. @@ -75,7 +75,7 @@ python_api_name: qiskit.circuit.library.OR ### instances - + ### layout @@ -104,7 +104,7 @@ python_api_name: qiskit.circuit.library.OR ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -118,7 +118,7 @@ python_api_name: qiskit.circuit.library.OR ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -126,7 +126,7 @@ python_api_name: qiskit.circuit.library.OR ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -146,7 +146,7 @@ python_api_name: qiskit.circuit.library.OR ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PauliEvolutionGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PauliEvolutionGate.mdx index 5553c60174e..d1b5eb60c7f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PauliEvolutionGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PauliEvolutionGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PauliEvolutionGate # PauliEvolutionGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Time-evolution of an operator consisting of Paulis. @@ -156,7 +156,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### time @@ -179,7 +179,7 @@ $$ ### validate\_parameter - + Gate parameters should be int, float, or ParameterExpression **Return type** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PauliFeatureMap.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PauliFeatureMap.mdx index f2c4ddd332c..b155ec69f37 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PauliFeatureMap.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PauliFeatureMap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PauliFeatureMap # PauliFeatureMap - + Bases: [`NLocal`](qiskit.circuit.library.NLocal "qiskit.circuit.library.n_local.n_local.NLocal") The Pauli Expansion circuit. @@ -203,7 +203,7 @@ $$ ### instances - + ### layout @@ -232,7 +232,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -246,7 +246,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -254,7 +254,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -292,7 +292,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. @@ -413,13 +413,13 @@ $$ ### pauli\_block - + Get the Pauli block for the feature map circuit. ### pauli\_evolution - + Get the evolution block for the given pauli string. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PauliGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PauliGate.mdx index 84954772485..7d3a222d976 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PauliGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PauliGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PauliGate # PauliGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") A multi-qubit Pauli gate. @@ -116,7 +116,7 @@ python_api_name: qiskit.circuit.library.PauliGate ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -129,13 +129,13 @@ python_api_name: qiskit.circuit.library.PauliGate ### inverse - + Return inverted pauli gate (itself). ### validate\_parameter - + Gate parameters should be int, float, or ParameterExpression diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PauliTwoDesign.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PauliTwoDesign.mdx index 9d331d8eeb6..5aee65bc7ea 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PauliTwoDesign.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PauliTwoDesign.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PauliTwoDesign # PauliTwoDesign - + Bases: [`TwoLocal`](qiskit.circuit.library.TwoLocal "qiskit.circuit.library.n_local.two_local.TwoLocal") The Pauli Two-Design ansatz. @@ -138,7 +138,7 @@ python_api_name: qiskit.circuit.library.PauliTwoDesign ### instances - + ### layout @@ -167,7 +167,7 @@ python_api_name: qiskit.circuit.library.PauliTwoDesign ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -181,7 +181,7 @@ python_api_name: qiskit.circuit.library.PauliTwoDesign ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -189,7 +189,7 @@ python_api_name: qiskit.circuit.library.PauliTwoDesign ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -231,7 +231,7 @@ python_api_name: qiskit.circuit.library.PauliTwoDesign ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.Permutation.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.Permutation.mdx index efd624f8c3c..a46147b472d 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.Permutation.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.Permutation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.Permutation # Permutation - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") An n\_qubit circuit that permutes qubits. @@ -77,7 +77,7 @@ python_api_name: qiskit.circuit.library.Permutation ### instances - + ### layout @@ -106,7 +106,7 @@ python_api_name: qiskit.circuit.library.Permutation ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -120,7 +120,7 @@ python_api_name: qiskit.circuit.library.Permutation ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -128,7 +128,7 @@ python_api_name: qiskit.circuit.library.Permutation ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -148,7 +148,7 @@ python_api_name: qiskit.circuit.library.Permutation ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PermutationGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PermutationGate.mdx index 0d8c35038dc..29baefc50c5 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PermutationGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PermutationGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PermutationGate # PermutationGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") A gate that permutes qubits. @@ -119,7 +119,7 @@ python_api_name: qiskit.circuit.library.PermutationGate ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### pattern @@ -138,13 +138,13 @@ python_api_name: qiskit.circuit.library.PermutationGate ### inverse - + Returns the inverse of the permutation. ### validate\_parameter - + Parameter validation. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseEstimation.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseEstimation.mdx index 9b2922c9233..91cf4cbd9d1 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseEstimation.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseEstimation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PhaseEstimation # PhaseEstimation - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Phase Estimation circuit. @@ -94,7 +94,7 @@ $$ ### instances - + ### layout @@ -123,7 +123,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -137,7 +137,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -145,7 +145,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -165,7 +165,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseGate.mdx index f00adb5776d..261082ff2e0 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PhaseGate # PhaseGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Single-qubit rotation about the Z axis. @@ -149,7 +149,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -162,7 +162,7 @@ $$ ### control - + Return a (multi-)controlled-Phase gate. **Parameters** @@ -183,12 +183,12 @@ $$ ### inverse - + Return inverted Phase gate ($Phase(\lambda)^{\dagger} = Phase(-\lambda)$) **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always another `PGate` with an inverse parameter value. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always another `PGate` with an inverse parameter value. **Returns** @@ -201,7 +201,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseOracle.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseOracle.mdx index 30897340abd..11825b7cdfc 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseOracle.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseOracle.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PhaseOracle # PhaseOracle - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Phase Oracle. @@ -71,7 +71,7 @@ python_api_name: qiskit.circuit.library.PhaseOracle ### instances - + ### layout @@ -100,7 +100,7 @@ python_api_name: qiskit.circuit.library.PhaseOracle ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -114,7 +114,7 @@ python_api_name: qiskit.circuit.library.PhaseOracle ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -122,7 +122,7 @@ python_api_name: qiskit.circuit.library.PhaseOracle ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -142,7 +142,7 @@ python_api_name: qiskit.circuit.library.PhaseOracle ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. @@ -235,7 +235,7 @@ python_api_name: qiskit.circuit.library.PhaseOracle ### evaluate\_bitstring - + Evaluate the oracle on a bitstring. This evaluation is done classically without any quantum circuit. **Parameters** @@ -253,7 +253,7 @@ python_api_name: qiskit.circuit.library.PhaseOracle ### from\_dimacs\_file - + Create a PhaseOracle from the string in the DIMACS format. It is possible to build a PhaseOracle from a file in [DIMACS CNF format](http://www.satcompetition.org/2009/format-benchmarks2009.html), which is the standard format for specifying SATisfiability (SAT) problem instances in [Conjunctive Normal Form (CNF)](https://en.wikipedia.org/wiki/Conjunctive_normal_form), which is a conjunction of one or more clauses, where a clause is a disjunction of one or more literals. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseChebyshev.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseChebyshev.mdx index f403dc0e916..51519ef5a6a 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseChebyshev.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseChebyshev.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PiecewiseChebyshev # PiecewiseChebyshev - + Bases: `BlueprintCircuit` Piecewise Chebyshev approximation to an input function. @@ -116,7 +116,7 @@ python_api_name: qiskit.circuit.library.PiecewiseChebyshev ### instances - + ### layout @@ -145,7 +145,7 @@ python_api_name: qiskit.circuit.library.PiecewiseChebyshev ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -159,7 +159,7 @@ python_api_name: qiskit.circuit.library.PiecewiseChebyshev ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -167,7 +167,7 @@ python_api_name: qiskit.circuit.library.PiecewiseChebyshev ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -195,7 +195,7 @@ python_api_name: qiskit.circuit.library.PiecewiseChebyshev ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseLinearPauliRotations.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseLinearPauliRotations.mdx index 976d78548d3..242ce4b6c10 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseLinearPauliRotations.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseLinearPauliRotations.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PiecewiseLinearPauliRotations # PiecewiseLinearPauliRotations - + Bases: [`FunctionalPauliRotations`](qiskit.circuit.library.FunctionalPauliRotations "qiskit.circuit.library.arithmetic.functional_pauli_rotations.FunctionalPauliRotations") Piecewise-linearly-controlled Pauli rotations. @@ -99,7 +99,7 @@ $$ ### instances - + ### layout @@ -158,7 +158,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -172,7 +172,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -180,7 +180,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -208,7 +208,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. @@ -269,7 +269,7 @@ $$ ### evaluate - + Classically evaluate the piecewise linear rotation. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewisePolynomialPauliRotations.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewisePolynomialPauliRotations.mdx index 372228b3e47..6bd19ad15a4 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewisePolynomialPauliRotations.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewisePolynomialPauliRotations.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PiecewisePolynomialPauliRotations # PiecewisePolynomialPauliRotations - + Bases: [`FunctionalPauliRotations`](qiskit.circuit.library.FunctionalPauliRotations "qiskit.circuit.library.arithmetic.functional_pauli_rotations.FunctionalPauliRotations") Piecewise-polynomially-controlled Pauli rotations. @@ -157,7 +157,7 @@ $$ ### instances - + ### layout @@ -206,7 +206,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -220,7 +220,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -228,7 +228,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -256,7 +256,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. @@ -301,7 +301,7 @@ $$ ### evaluate - + Classically evaluate the piecewise polynomial rotation. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PolynomialPauliRotations.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.PolynomialPauliRotations.mdx index 2d15352ad5d..809e5c58631 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PolynomialPauliRotations.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PolynomialPauliRotations.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.PolynomialPauliRotations # PolynomialPauliRotations - + Bases: [`FunctionalPauliRotations`](qiskit.circuit.library.FunctionalPauliRotations "qiskit.circuit.library.arithmetic.functional_pauli_rotations.FunctionalPauliRotations") A circuit implementing polynomial Pauli rotations. @@ -117,7 +117,7 @@ $$ ### instances - + ### layout @@ -156,7 +156,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -170,7 +170,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -178,7 +178,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -206,7 +206,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.QAOAAnsatz.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.QAOAAnsatz.mdx index 1085f2048b5..22669e3d95e 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.QAOAAnsatz.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.QAOAAnsatz.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.QAOAAnsatz # QAOAAnsatz - + Bases: [`EvolvedOperatorAnsatz`](qiskit.circuit.library.EvolvedOperatorAnsatz "qiskit.circuit.library.n_local.evolved_operator_ansatz.EvolvedOperatorAnsatz") A generalized QAOA quantum circuit with a support of custom initial states and mixers. @@ -132,7 +132,7 @@ python_api_name: qiskit.circuit.library.QAOAAnsatz ### instances - + ### layout @@ -175,7 +175,7 @@ python_api_name: qiskit.circuit.library.QAOAAnsatz ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -189,7 +189,7 @@ python_api_name: qiskit.circuit.library.QAOAAnsatz ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -197,7 +197,7 @@ python_api_name: qiskit.circuit.library.QAOAAnsatz ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -239,7 +239,7 @@ python_api_name: qiskit.circuit.library.QAOAAnsatz ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.QFT.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.QFT.mdx index d417de7d746..dbb7b4177a5 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.QFT.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.QFT.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.QFT # QFT - + Bases: `BlueprintCircuit` Quantum Fourier Transform Circuit. @@ -110,7 +110,7 @@ $$ ### instances - + ### layout @@ -139,7 +139,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -153,7 +153,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -161,7 +161,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -183,7 +183,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. @@ -228,7 +228,7 @@ $$ ### inverse - + Invert this circuit. **Parameters** @@ -246,7 +246,7 @@ $$ ### is\_inverse - + Whether the inverse Fourier transform is implemented. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.QuadraticForm.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.QuadraticForm.mdx index f163878476a..7b04c8aaa65 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.QuadraticForm.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.QuadraticForm.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.QuadraticForm # QuadraticForm - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Implements a quadratic form on binary variables encoded in qubit registers. @@ -96,7 +96,7 @@ $$ ### instances - + ### layout @@ -125,7 +125,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -139,7 +139,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -147,7 +147,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -167,7 +167,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. @@ -260,7 +260,7 @@ $$ ### required\_result\_qubits - + Get the number of required result qubits. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.QuantumVolume.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.QuantumVolume.mdx index 67dc46cba8d..fe605c3a04c 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.QuantumVolume.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.QuantumVolume.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.QuantumVolume # QuantumVolume - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") A quantum volume model circuit. @@ -82,7 +82,7 @@ python_api_name: qiskit.circuit.library.QuantumVolume ### instances - + ### layout @@ -111,7 +111,7 @@ python_api_name: qiskit.circuit.library.QuantumVolume ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -125,7 +125,7 @@ python_api_name: qiskit.circuit.library.QuantumVolume ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -133,7 +133,7 @@ python_api_name: qiskit.circuit.library.QuantumVolume ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -153,7 +153,7 @@ python_api_name: qiskit.circuit.library.QuantumVolume ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RC3XGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RC3XGate.mdx index 87d256a46fa..75c6ce6e2a6 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RC3XGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RC3XGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RC3XGate # RC3XGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") The simplified 3-controlled Toffoli gate. @@ -109,7 +109,7 @@ python_api_name: qiskit.circuit.library.RC3XGate ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RCCXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RCCXGate.mdx index 3bf04e1a36b..ade6aa0ede7 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RCCXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RCCXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RCCXGate # RCCXGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") The simplified Toffoli gate, also referred to as Margolus gate. @@ -109,7 +109,7 @@ python_api_name: qiskit.circuit.library.RCCXGate ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RGQFTMultiplier.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RGQFTMultiplier.mdx index 0d52c4eb446..712f31dda49 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RGQFTMultiplier.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RGQFTMultiplier.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RGQFTMultiplier # RGQFTMultiplier - + Bases: `Multiplier` A QFT multiplication circuit to store product of two input registers out-of-place. @@ -84,7 +84,7 @@ python_api_name: qiskit.circuit.library.RGQFTMultiplier ### instances - + ### layout @@ -113,7 +113,7 @@ python_api_name: qiskit.circuit.library.RGQFTMultiplier ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -127,7 +127,7 @@ python_api_name: qiskit.circuit.library.RGQFTMultiplier ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -135,7 +135,7 @@ python_api_name: qiskit.circuit.library.RGQFTMultiplier ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -175,7 +175,7 @@ python_api_name: qiskit.circuit.library.RGQFTMultiplier ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RGate.mdx index 2cc3aaca948..a81a1cf7689 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RGate # RGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Rotation θ around the cos(φ)x + sin(φ)y axis. @@ -125,7 +125,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -138,12 +138,12 @@ $$ ### inverse - + Invert this gate as: $r(θ, φ)^dagger = r(-θ, φ)$ **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`RGate`](#qiskit.circuit.library.RGate "qiskit.circuit.library.RGate") with an inverted parameter value. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`RGate`](#qiskit.circuit.library.RGate "qiskit.circuit.library.RGate") with an inverted parameter value. **Returns** @@ -156,7 +156,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RVGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RVGate.mdx index 7536ca02760..386606492e3 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RVGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RVGate.mdx @@ -8,10 +8,10 @@ python_api_name: qiskit.circuit.library.RVGate # RVGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") - Rotation around arbitrary rotation axis $v$ where $|v|$ is angle of rotation in radians. + Rotation around arbitrary rotation axis $\vec{v}$ where $\|\vec{v}\|_2$ is angle of rotation in radians. Can be applied to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") with the [`rv()`](qiskit.circuit.QuantumCircuit#rv "qiskit.circuit.QuantumCircuit.rv") method. @@ -26,14 +26,17 @@ python_api_name: qiskit.circuit.library.RVGate **Matrix Representation:** $$ -\newcommand{\rotationangle}{|\vec{v}|} -\newcommand{\sinc}{\text{sinc}} -R(\vec{v}) = e^{-i \vec{v}\cdot\vec{\sigma}} = +\newcommand{\rotationangle}{\frac{\|\vec{v}\|_2}{2}} +R(\vec{v}) = e^{-i \vec{v}\cdot\vec{\sigma} / 2} = \begin{pmatrix} -\cos\left(\rotationangle\right) -i v_z \sinc\left(\rotationangle\right) -& -(i v_x + v_y) \sinc\left(\rotationangle\right) \\ --(i v_x - v_y) \sinc\left(\rotationangle\right) -& \cos\left(\rotationangle\right) + i v_z \sinc\left(\rotationangle\right) +\cos\left(\rotationangle\right) +-i \frac{v_z}{\|\vec{v}\|_2} \sin\left(\rotationangle\right) +& -(i \frac{v_x}{\|\vec{v}\|_2} ++ \frac{v_y}{\|\vec{v}\|_2}) \sin\left(\rotationangle\right) \\ +-(i \frac{v_x}{\|\vec{v}\|_2} +- \frac{v_y}{\|\vec{v}\|_2}) \sin\left(\rotationangle\right) +& \cos\left(\rotationangle\right) ++ i \frac{v_z}{\|\vec{v}\|_2} \sin\left(\rotationangle\right) \end{pmatrix} $$ @@ -134,7 +137,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -147,13 +150,13 @@ $$ ### inverse - + Invert this gate. ### to\_matrix - + Return a numpy.array for the R(v) gate. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RXGate.mdx index 32afc229a9d..368c0e9a4f9 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RXGate # RXGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Single-qubit rotation about the X axis. @@ -125,7 +125,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -138,7 +138,7 @@ $$ ### control - + Return a (multi-)controlled-RX gate. **Parameters** @@ -159,14 +159,14 @@ $$ ### inverse - + Return inverted RX gate. $RX(\lambda)^{\dagger} = RX(-\lambda)$ **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`RXGate`](#qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate") with an inverted parameter value. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`RXGate`](#qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate") with an inverted parameter value. **Returns** @@ -179,7 +179,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RXXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RXXGate.mdx index 71917d281f6..87ba8fbcc21 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RXXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RXXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RXXGate # RXXGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") A parametric 2-qubit $X \otimes X$ interaction (rotation about XX). @@ -151,7 +151,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -164,12 +164,12 @@ $$ ### inverse - + Return inverse RXX gate (i.e. with the negative rotation angle). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`RXXGate`](#qiskit.circuit.library.RXXGate "qiskit.circuit.library.RXXGate") with an inverted parameter value. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`RXXGate`](#qiskit.circuit.library.RXXGate "qiskit.circuit.library.RXXGate") with an inverted parameter value. **Returns** @@ -182,7 +182,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RYGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RYGate.mdx index a79a632b16c..5b920848f2f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RYGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RYGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RYGate # RYGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Single-qubit rotation about the Y axis. @@ -125,7 +125,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -138,7 +138,7 @@ $$ ### control - + Return a (multi-)controlled-RY gate. **Parameters** @@ -159,14 +159,14 @@ $$ ### inverse - + Return inverse RY gate. $RY(\lambda)^{\dagger} = RY(-\lambda)$ **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`RYGate`](#qiskit.circuit.library.RYGate "qiskit.circuit.library.RYGate") with an inverted parameter value. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`RYGate`](#qiskit.circuit.library.RYGate "qiskit.circuit.library.RYGate") with an inverted parameter value. **Returns** @@ -179,7 +179,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RYYGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RYYGate.mdx index da4af69ed2e..a39f4ac1e67 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RYYGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RYYGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RYYGate # RYYGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") A parametric 2-qubit $Y \otimes Y$ interaction (rotation about YY). @@ -151,7 +151,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -164,12 +164,12 @@ $$ ### inverse - + Return inverse RYY gate (i.e. with the negative rotation angle). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`RYYGate`](#qiskit.circuit.library.RYYGate "qiskit.circuit.library.RYYGate") with an inverted parameter value. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`RYYGate`](#qiskit.circuit.library.RYYGate "qiskit.circuit.library.RYYGate") with an inverted parameter value. **Returns** @@ -182,7 +182,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RZGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RZGate.mdx index a1a42470903..0c4c2d95c24 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RZGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RZGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RZGate # RZGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Single-qubit rotation about the Z axis. @@ -135,7 +135,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -148,7 +148,7 @@ $$ ### control - + Return a (multi-)controlled-RZ gate. **Parameters** @@ -169,14 +169,14 @@ $$ ### inverse - + Return inverted RZ gate $RZ(\lambda)^{\dagger} = RZ(-\lambda)$ **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`RZGate`](#qiskit.circuit.library.RZGate "qiskit.circuit.library.RZGate") with an inverted parameter value. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`RZGate`](#qiskit.circuit.library.RZGate "qiskit.circuit.library.RZGate") with an inverted parameter value. **Returns** @@ -189,7 +189,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RZXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RZXGate.mdx index 9da32e42177..4bca636d90c 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RZXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RZXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RZXGate # RZXGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") A parametric 2-qubit $Z \otimes X$ interaction (rotation about ZX). @@ -191,7 +191,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -204,7 +204,7 @@ $$ ### inverse - + Return inverse RZX gate (i.e. with the negative rotation angle). **Parameters** @@ -213,7 +213,7 @@ $$ **when set to `True`, this is typically used to return an** - `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`RZXGate`](#qiskit.circuit.library.RZXGate "qiskit.circuit.library.RZXGate") with an inverted parameter value. + [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`RZXGate`](#qiskit.circuit.library.RZXGate "qiskit.circuit.library.RZXGate") with an inverted parameter value. **Returns:** @@ -222,7 +222,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RZZGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RZZGate.mdx index 3dd8f36798b..df7ca97a7a8 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RZZGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RZZGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RZZGate # RZZGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") A parametric 2-qubit $Z \otimes Z$ interaction (rotation about ZZ). @@ -163,7 +163,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -176,12 +176,12 @@ $$ ### inverse - + Return inverse RZZ gate (i.e. with the negative rotation angle). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`RZZGate`](#qiskit.circuit.library.RZZGate "qiskit.circuit.library.RZZGate") with an inverted parameter value. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`RZZGate`](#qiskit.circuit.library.RZZGate "qiskit.circuit.library.RZZGate") with an inverted parameter value. **Returns** @@ -194,7 +194,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RealAmplitudes.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.RealAmplitudes.mdx index c2553050cdc..9906aba0bb9 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RealAmplitudes.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RealAmplitudes.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.RealAmplitudes # RealAmplitudes - + Bases: [`TwoLocal`](qiskit.circuit.library.TwoLocal "qiskit.circuit.library.n_local.two_local.TwoLocal") The real-amplitudes 2-local circuit. @@ -192,7 +192,7 @@ python_api_name: qiskit.circuit.library.RealAmplitudes ### instances - + ### layout @@ -221,7 +221,7 @@ python_api_name: qiskit.circuit.library.RealAmplitudes ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -235,7 +235,7 @@ python_api_name: qiskit.circuit.library.RealAmplitudes ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -243,7 +243,7 @@ python_api_name: qiskit.circuit.library.RealAmplitudes ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -291,7 +291,7 @@ python_api_name: qiskit.circuit.library.RealAmplitudes ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.Reset.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.Reset.mdx deleted file mode 100644 index 1716978ed34..00000000000 --- a/docs/api/qiskit/dev/qiskit.circuit.library.Reset.mdx +++ /dev/null @@ -1,278 +0,0 @@ ---- -title: Reset -description: API reference for qiskit.circuit.library.Reset -in_page_toc_min_heading_level: 1 -python_api_type: class -python_api_name: qiskit.circuit.library.Reset ---- - -# Reset - - - Bases: [`SingletonInstruction`](circuit_singleton#qiskit.circuit.singleton.SingletonInstruction "qiskit.circuit.singleton.SingletonInstruction") - - Qubit reset. - - Create new reset instruction. - - ## 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.library.Reset.base_class "qiskit.circuit.library.Reset.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` 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 - - - ### 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. - - - ### unit - - - Get the time unit of duration. - - - ## Methods - - ### add\_decomposition - - - Add a decomposition of the instruction to the SessionEquivalenceLibrary. - - - ### assemble - - - Assemble a QasmQobjInstruction - - - ### broadcast\_arguments - - - 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 - - - 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 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 - - - 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 - - - Return True .IFF. instruction is parameterized else False - - - ### repeat - - - 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 - - - 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 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 - - - 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 - - - Instruction parameters has no validation or normalization. - - - diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.SGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.SGate.mdx index 1e95b3b8545..da99b4d0a53 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.SGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.SGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.SGate # SGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") Single qubit S gate (Z\*\*0.5). @@ -128,7 +128,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -141,12 +141,12 @@ $$ ### inverse - + Return inverse of S (SdgGate). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`SdgGate`](qiskit.circuit.library.SdgGate "qiskit.circuit.library.SdgGate"). + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`SdgGate`](qiskit.circuit.library.SdgGate "qiskit.circuit.library.SdgGate"). **Returns** @@ -159,7 +159,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.SXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.SXGate.mdx index b54575b5525..e617fe0af17 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.SXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.SXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.SXGate # SXGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") The single-qubit Sqrt(X) gate ($\sqrt{X}$). @@ -134,7 +134,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -147,7 +147,7 @@ $$ ### control - + Return a (multi-)controlled-SX gate. One control returns a CSX gate. @@ -170,12 +170,12 @@ $$ ### inverse - + Return inverse SX gate (i.e. SXdg). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`SXdgGate`](qiskit.circuit.library.SXdgGate "qiskit.circuit.library.SXdgGate"). + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`SXdgGate`](qiskit.circuit.library.SXdgGate "qiskit.circuit.library.SXdgGate"). **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.SXdgGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.SXdgGate.mdx index bbc283f2123..866fc57b5f8 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.SXdgGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.SXdgGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.SXdgGate # SXdgGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") The inverse single-qubit Sqrt(X) gate. @@ -124,7 +124,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -137,12 +137,12 @@ $$ ### inverse - + Return inverse SXdg gate (i.e. SX). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`SXGate`](qiskit.circuit.library.SXGate "qiskit.circuit.library.SXGate"). + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`SXGate`](qiskit.circuit.library.SXGate "qiskit.circuit.library.SXGate"). **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.SdgGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.SdgGate.mdx index 9cbc91f6e6a..b77425d270f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.SdgGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.SdgGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.SdgGate # SdgGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") Single qubit S-adjoint gate (\~Z\*\*0.5). @@ -128,7 +128,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -141,12 +141,12 @@ $$ ### inverse - + Return inverse of Sdg (SGate). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`SGate`](qiskit.circuit.library.SGate "qiskit.circuit.library.SGate"). + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`SGate`](qiskit.circuit.library.SGate "qiskit.circuit.library.SGate"). **Returns** @@ -159,7 +159,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.StatePreparation.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.StatePreparation.mdx index b86bbf5cb78..4031f17dcfc 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.StatePreparation.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.StatePreparation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.StatePreparation # StatePreparation - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Complex amplitude state preparation. @@ -128,7 +128,7 @@ python_api_name: qiskit.circuit.library.StatePreparation ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -141,7 +141,7 @@ python_api_name: qiskit.circuit.library.StatePreparation ### broadcast\_arguments - + Validation and handling of the arguments and its relationship. For example, `cx([q[0],q[1]], q[2])` means `cx(q[0], q[2]); cx(q[1], q[2])`. This method yields the arguments in the right grouping. In the given example: @@ -190,13 +190,13 @@ python_api_name: qiskit.circuit.library.StatePreparation ### inverse - + Return inverted StatePreparation ### validate\_parameter - + StatePreparation instruction parameter can be str, int, float, and complex. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.SwapGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.SwapGate.mdx index 398ed4f3c63..1364c1e3274 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.SwapGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.SwapGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.SwapGate # SwapGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") The SWAP gate. @@ -133,7 +133,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -146,7 +146,7 @@ $$ ### control - + Return a (multi-)controlled-SWAP gate. One control returns a CSWAP (Fredkin) gate. @@ -169,12 +169,12 @@ $$ ### inverse - + Return inverse Swap gate (itself). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.TGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.TGate.mdx index a1ebe0fd9f7..8943e259fbb 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.TGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.TGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.TGate # TGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") Single qubit T gate (Z\*\*0.25). @@ -128,7 +128,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -141,12 +141,12 @@ $$ ### inverse - + Return inverse T gate (i.e. Tdg). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`TdgGate`](qiskit.circuit.library.TdgGate "qiskit.circuit.library.TdgGate"). + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`TdgGate`](qiskit.circuit.library.TdgGate "qiskit.circuit.library.TdgGate"). **Returns** @@ -159,7 +159,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.TdgGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.TdgGate.mdx index 9c12fcd2466..30af013b636 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.TdgGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.TdgGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.TdgGate # TdgGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") Single qubit T-adjoint gate (\~Z\*\*0.25). @@ -128,7 +128,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -141,12 +141,12 @@ $$ ### inverse - + Return inverse Tdg gate (i.e. T). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`TGate`](qiskit.circuit.library.TGate "qiskit.circuit.library.TGate"). + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`TGate`](qiskit.circuit.library.TGate "qiskit.circuit.library.TGate"). **Returns** @@ -159,7 +159,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.TwoLocal.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.TwoLocal.mdx index 56089531766..d2d06a25ae0 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.TwoLocal.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.TwoLocal.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.TwoLocal # TwoLocal - + Bases: [`NLocal`](qiskit.circuit.library.NLocal "qiskit.circuit.library.n_local.n_local.NLocal") The two-local circuit. @@ -204,7 +204,7 @@ python_api_name: qiskit.circuit.library.TwoLocal ### instances - + ### layout @@ -233,7 +233,7 @@ python_api_name: qiskit.circuit.library.TwoLocal ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -247,7 +247,7 @@ python_api_name: qiskit.circuit.library.TwoLocal ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -255,7 +255,7 @@ python_api_name: qiskit.circuit.library.TwoLocal ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -303,7 +303,7 @@ python_api_name: qiskit.circuit.library.TwoLocal ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. @@ -414,7 +414,7 @@ python_api_name: qiskit.circuit.library.TwoLocal ### get\_entangler\_map - + Overloading to handle the special case of 1 qubit where the entanglement are ignored. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.U1Gate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.U1Gate.mdx index ba1656fe743..0dde5118c8e 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.U1Gate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.U1Gate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.U1Gate # U1Gate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Single-qubit rotation about the Z axis. @@ -162,7 +162,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -175,7 +175,7 @@ $$ ### control - + Return a (multi-)controlled-U1 gate. **Parameters** @@ -196,12 +196,12 @@ $$ ### inverse - + Return inverted U1 gate ($U1(\lambda)^{\dagger} = U1(-\lambda))$ **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`U1Gate`](#qiskit.circuit.library.U1Gate "qiskit.circuit.library.U1Gate") with inverse parameter values. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`U1Gate`](#qiskit.circuit.library.U1Gate "qiskit.circuit.library.U1Gate") with inverse parameter values. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.U2Gate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.U2Gate.mdx index 267509aae43..50f999a98ae 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.U2Gate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.U2Gate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.U2Gate # U2Gate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Single-qubit rotation about the X+Z axis. @@ -161,7 +161,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -174,14 +174,14 @@ $$ ### inverse - + Return inverted U2 gate. $U2(\phi, \lambda)^{\dagger} =U2(-\lambda-\pi, -\phi+\pi))$ **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`U2Gate`](#qiskit.circuit.library.U2Gate "qiskit.circuit.library.U2Gate") with inverse parameter values. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`U2Gate`](#qiskit.circuit.library.U2Gate "qiskit.circuit.library.U2Gate") with inverse parameter values. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.U3Gate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.U3Gate.mdx index 38cdf824c43..10b07b3d5ad 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.U3Gate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.U3Gate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.U3Gate # U3Gate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Generic single-qubit rotation gate with 3 Euler angles. @@ -156,7 +156,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -169,7 +169,7 @@ $$ ### control - + Return a (multi-)controlled-U3 gate. **Parameters** @@ -190,14 +190,14 @@ $$ ### inverse - + Return inverted U3 gate. $U3(\theta,\phi,\lambda)^{\dagger} =U3(-\theta,-\lambda,-\phi))$ **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`U3Gate`](#qiskit.circuit.library.U3Gate "qiskit.circuit.library.U3Gate") with inverse parameter values. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`U3Gate`](#qiskit.circuit.library.U3Gate "qiskit.circuit.library.U3Gate") with inverse parameter values. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.UCGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.UCGate.mdx index e3f1cde0aec..087963bcc50 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.UCGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.UCGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.UCGate # UCGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Uniformly controlled gate (also called multiplexed gate). @@ -131,7 +131,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -144,7 +144,7 @@ $$ ### inverse - + Return the inverse. This does not re-compute the decomposition for the multiplexer with the inverse of the gates but simply inverts the existing decomposition. @@ -156,7 +156,7 @@ $$ ### validate\_parameter - + Uniformly controlled gate parameter has to be an ndarray. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.UCPauliRotGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.UCPauliRotGate.mdx index 3439a084661..c80c3857776 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.UCPauliRotGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.UCPauliRotGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.UCPauliRotGate # UCPauliRotGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Uniformly controlled Pauli rotations. @@ -108,7 +108,7 @@ python_api_name: qiskit.circuit.library.UCPauliRotGate ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.UCRXGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.UCRXGate.mdx index 11c340c785d..66bfa83f7ad 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.UCRXGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.UCRXGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.UCRXGate # UCRXGate - + Bases: [`UCPauliRotGate`](qiskit.circuit.library.UCPauliRotGate "qiskit.circuit.library.generalized_gates.uc_pauli_rot.UCPauliRotGate") Uniformly controlled Pauli-X rotations. @@ -107,7 +107,7 @@ python_api_name: qiskit.circuit.library.UCRXGate ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.UCRYGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.UCRYGate.mdx index 3e0a7363df8..39fa553da93 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.UCRYGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.UCRYGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.UCRYGate # UCRYGate - + Bases: [`UCPauliRotGate`](qiskit.circuit.library.UCPauliRotGate "qiskit.circuit.library.generalized_gates.uc_pauli_rot.UCPauliRotGate") Uniformly controlled Pauli-Y rotations. @@ -107,7 +107,7 @@ python_api_name: qiskit.circuit.library.UCRYGate ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.UCRZGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.UCRZGate.mdx index 6136d8c0c4a..e0859032f22 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.UCRZGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.UCRZGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.UCRZGate # UCRZGate - + Bases: [`UCPauliRotGate`](qiskit.circuit.library.UCPauliRotGate "qiskit.circuit.library.generalized_gates.uc_pauli_rot.UCPauliRotGate") Uniformly controlled Pauli-Z rotations. @@ -107,7 +107,7 @@ python_api_name: qiskit.circuit.library.UCRZGate ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.UGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.UGate.mdx index 5d6656862f4..ebd0b5c1541 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.UGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.UGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.UGate # UGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Generic single-qubit rotation gate with 3 Euler angles. @@ -139,7 +139,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -152,7 +152,7 @@ $$ ### control - + Return a (multi-)controlled-U gate. **Parameters** @@ -173,14 +173,14 @@ $$ ### inverse - + Return inverted U gate. $U(\theta,\phi,\lambda)^{\dagger} =U(-\theta,-\lambda,-\phi))$ **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`UGate`](#qiskit.circuit.library.UGate "qiskit.circuit.library.UGate") with inverse parameter values. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`UGate`](#qiskit.circuit.library.UGate "qiskit.circuit.library.UGate") with inverse parameter values. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryGate.mdx index bad38cd9786..5d5f9a435eb 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.UnitaryGate # UnitaryGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") Class quantum gates specified by a unitary matrix. @@ -131,7 +131,7 @@ python_api_name: qiskit.circuit.library.UnitaryGate ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -144,19 +144,19 @@ python_api_name: qiskit.circuit.library.UnitaryGate ### adjoint - + Return the adjoint of the unitary. ### conjugate - + Return the conjugate of the unitary. ### control - + Return controlled version of gate. **Parameters** @@ -172,24 +172,24 @@ python_api_name: qiskit.circuit.library.UnitaryGate **Return type** - [ControlledGate](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate") | AnnotatedOperation + [ControlledGate](qiskit.circuit.ControlledGate "qiskit.circuit.ControlledGate") | [AnnotatedOperation](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") ### inverse - + Return the adjoint of the unitary. ### transpose - + Return the transpose of the unitary. ### validate\_parameter - + Unitary gate parameter has to be an ndarray. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryOverlap.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryOverlap.mdx index d2da0a8e543..485f565c2ad 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryOverlap.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryOverlap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.UnitaryOverlap # UnitaryOverlap - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") Circuit that returns the overlap between two unitaries $U_2^{\dag} U_1$. @@ -133,7 +133,7 @@ python_api_name: qiskit.circuit.library.UnitaryOverlap ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -147,7 +147,7 @@ python_api_name: qiskit.circuit.library.UnitaryOverlap ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -155,7 +155,7 @@ python_api_name: qiskit.circuit.library.UnitaryOverlap ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -175,7 +175,7 @@ python_api_name: qiskit.circuit.library.UnitaryOverlap ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.VBERippleCarryAdder.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.VBERippleCarryAdder.mdx index 69ec2d3184d..261d8f961e8 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.VBERippleCarryAdder.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.VBERippleCarryAdder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.VBERippleCarryAdder # VBERippleCarryAdder - + Bases: `Adder` The VBE ripple carry adder \[1]. @@ -122,7 +122,7 @@ python_api_name: qiskit.circuit.library.VBERippleCarryAdder ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -136,7 +136,7 @@ python_api_name: qiskit.circuit.library.VBERippleCarryAdder ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -144,7 +144,7 @@ python_api_name: qiskit.circuit.library.VBERippleCarryAdder ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -174,7 +174,7 @@ python_api_name: qiskit.circuit.library.VBERippleCarryAdder ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.WeightedAdder.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.WeightedAdder.mdx index 11f817a09df..71958e6bde4 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.WeightedAdder.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.WeightedAdder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.WeightedAdder # WeightedAdder - + Bases: `BlueprintCircuit` A circuit to compute the weighted sum of qubit registers. @@ -125,7 +125,7 @@ $$ ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -163,7 +163,7 @@ $$ ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -171,7 +171,7 @@ $$ ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -209,7 +209,7 @@ $$ ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.XGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.XGate.mdx index d963897dc20..291dd9cf4cd 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.XGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.XGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.XGate # XGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") The single-qubit Pauli-X gate ($\sigma_x$). @@ -143,7 +143,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -156,7 +156,7 @@ $$ ### control - + Return a (multi-)controlled-X gate. One control returns a CX gate. Two controls returns a CCX gate. @@ -165,7 +165,7 @@ $$ * **num\_ctrl\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – number of control qubits. * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – An optional label for the gate \[Default: `None`] - * **ctrl\_state** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – control state expressed as integer, string (e.g.\`\`’110’`), or ``None`. If `None`, use all 1s. + * **ctrl\_state** ([*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)") *| None*) – control state expressed as integer, string (e.g.\`\`’110’`), or ``None`. If `None`, use all 1s. * **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – indicates whether the controlled gate can be implemented as an annotated gate. **Returns** @@ -179,12 +179,12 @@ $$ ### inverse - + Return inverted X gate (itself). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.XOR.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.XOR.mdx index 68cacd3e1a3..f77af05b4ff 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.XOR.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.XOR.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.XOR # XOR - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") An n\_qubit circuit for bitwise xor-ing the input with some integer `amount`. @@ -106,7 +106,7 @@ python_api_name: qiskit.circuit.library.XOR ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -120,7 +120,7 @@ python_api_name: qiskit.circuit.library.XOR ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -128,7 +128,7 @@ python_api_name: qiskit.circuit.library.XOR ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -148,7 +148,7 @@ python_api_name: qiskit.circuit.library.XOR ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.XXMinusYYGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.XXMinusYYGate.mdx index 1a37c1897ed..658c947a328 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.XXMinusYYGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.XXMinusYYGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.XXMinusYYGate # XXMinusYYGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") XX-YY interaction gate. @@ -161,7 +161,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -174,12 +174,12 @@ $$ ### inverse - + Inverse gate. **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`XXMinusYYGate`](#qiskit.circuit.library.XXMinusYYGate "qiskit.circuit.library.XXMinusYYGate") with inverse parameter values. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`XXMinusYYGate`](#qiskit.circuit.library.XXMinusYYGate "qiskit.circuit.library.XXMinusYYGate") with inverse parameter values. **Returns** @@ -192,7 +192,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.XXPlusYYGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.XXPlusYYGate.mdx index 9385f3bf44c..69a6a7df9f6 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.XXPlusYYGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.XXPlusYYGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.XXPlusYYGate # XXPlusYYGate - + Bases: [`Gate`](qiskit.circuit.Gate "qiskit.circuit.gate.Gate") XX+YY interaction gate. @@ -161,7 +161,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -174,12 +174,12 @@ $$ ### inverse - + Return inverse XX+YY gate (i.e. with the negative rotation angle and same phase angle). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`XXPlusYYGate`](#qiskit.circuit.library.XXPlusYYGate "qiskit.circuit.library.XXPlusYYGate") with inverse parameter values. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as the inverse of this gate is always a [`XXPlusYYGate`](#qiskit.circuit.library.XXPlusYYGate "qiskit.circuit.library.XXPlusYYGate") with inverse parameter values. **Returns** @@ -192,7 +192,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.YGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.YGate.mdx index 3324634cc29..edd25c1f58e 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.YGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.YGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.YGate # YGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") The single-qubit Pauli-Y gate ($\sigma_y$). @@ -143,7 +143,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -156,7 +156,7 @@ $$ ### control - + Return a (multi-)controlled-Y gate. One control returns a CY gate. @@ -165,7 +165,7 @@ $$ * **num\_ctrl\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – number of control qubits. * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – An optional label for the gate \[Default: `None`] - * **ctrl\_state** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – control state expressed as integer, string (e.g.\`\`’110’`), or ``None`. If `None`, use all 1s. + * **ctrl\_state** ([*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)") *| None*) – control state expressed as integer, string (e.g.\`\`’110’`), or ``None`. If `None`, use all 1s. * **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – indicates whether the controlled gate can be implemented as an annotated gate. **Returns** @@ -179,12 +179,12 @@ $$ ### inverse - + Return inverted Y gate ($Y^{\dagger} = Y$) **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.ZFeatureMap.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.ZFeatureMap.mdx index be502036c67..4a1e7471311 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.ZFeatureMap.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.ZFeatureMap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.ZFeatureMap # ZFeatureMap - + Bases: [`PauliFeatureMap`](qiskit.circuit.library.PauliFeatureMap "qiskit.circuit.library.data_preparation.pauli_feature_map.PauliFeatureMap") The first order Pauli Z-evolution circuit. @@ -199,7 +199,7 @@ python_api_name: qiskit.circuit.library.ZFeatureMap ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -213,7 +213,7 @@ python_api_name: qiskit.circuit.library.ZFeatureMap ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -221,7 +221,7 @@ python_api_name: qiskit.circuit.library.ZFeatureMap ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -259,7 +259,7 @@ python_api_name: qiskit.circuit.library.ZFeatureMap ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.ZGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.ZGate.mdx index 1584bceb58c..d12c31bb94c 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.ZGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.ZGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.ZGate # ZGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") The single-qubit Pauli-Z gate ($\sigma_z$). @@ -143,7 +143,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -156,7 +156,7 @@ $$ ### control - + Return a (multi-)controlled-Z gate. One control returns a CZ gate. @@ -165,7 +165,7 @@ $$ * **num\_ctrl\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – number of control qubits. * **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – An optional label for the gate \[Default: `None`] - * **ctrl\_state** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – control state expressed as integer, string (e.g.\`\`’110’`), or ``None`. If `None`, use all 1s. + * **ctrl\_state** ([*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)") *| None*) – control state expressed as integer, string (e.g.\`\`’110’`), or ``None`. If `None`, use all 1s. * **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – indicates whether the controlled gate can be implemented as an annotated gate. **Returns** @@ -179,12 +179,12 @@ $$ ### inverse - + Return inverted Z gate (itself). **Parameters** - **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an `AnnotatedOperation` with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. + **annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – when set to `True`, this is typically used to return an [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") with an inverse modifier set instead of a concrete [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"). However, for this class this argument is ignored as this gate is self-inverse. **Returns** @@ -197,7 +197,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.ZZFeatureMap.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.ZZFeatureMap.mdx index c63b169e5eb..da4c0e8101b 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.ZZFeatureMap.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.ZZFeatureMap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.ZZFeatureMap # ZZFeatureMap - + Bases: [`PauliFeatureMap`](qiskit.circuit.library.PauliFeatureMap "qiskit.circuit.library.data_preparation.pauli_feature_map.PauliFeatureMap") Second-order Pauli-Z evolution circuit. @@ -204,7 +204,7 @@ python_api_name: qiskit.circuit.library.ZZFeatureMap ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -218,7 +218,7 @@ python_api_name: qiskit.circuit.library.ZZFeatureMap ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -226,7 +226,7 @@ python_api_name: qiskit.circuit.library.ZZFeatureMap ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -264,7 +264,7 @@ python_api_name: qiskit.circuit.library.ZZFeatureMap ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.iSwapGate.mdx b/docs/api/qiskit/dev/qiskit.circuit.library.iSwapGate.mdx index 2660beeaa45..29a781ba7a2 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.iSwapGate.mdx +++ b/docs/api/qiskit/dev/qiskit.circuit.library.iSwapGate.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.circuit.library.iSwapGate # iSwapGate - + Bases: [`SingletonGate`](circuit_singleton#qiskit.circuit.singleton.SingletonGate "qiskit.circuit.singleton.SingletonGate") iSWAP gate. @@ -156,7 +156,7 @@ $$ ### params - return instruction params. + The parameters of this `Instruction`. Ideally these will be gate angles. ### unit @@ -169,7 +169,7 @@ $$ ### power - + Raise gate to a power. diff --git a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGCircuit.mdx b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGCircuit.mdx index 48344a1c74e..1bcabb39424 100644 --- a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGCircuit.mdx +++ b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGCircuit.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit # DAGCircuit - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Quantum circuit as a directed acyclic graph. @@ -51,7 +51,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### add\_calibration - + Register a low-level, custom pulse definition for the given gate. **Parameters** @@ -68,45 +68,45 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### add\_clbits - + Add individual clbit wires. ### add\_creg - + Add all wires in a classical register. ### add\_qreg - + Add all wires in a quantum register. ### add\_qubits - + Add individual qubit wires. ### ancestors - + Returns set of the ancestors of a node as DAGOpNodes and DAGInNodes. ### apply\_operation\_back - + Apply an operation to the output of the circuit. **Parameters** * **op** ([*qiskit.circuit.Operation*](qiskit.circuit.Operation "qiskit.circuit.Operation")) – the operation associated with the DAG node - * **qargs** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*]*) – qubits that op will be applied to - * **cargs** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*]*) – cbits that op will be applied to - * **check** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If `True` (default), this function will enforce that the [`DAGCircuit`](#qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") data-structure invariants are maintained (all `qargs` are [`Qubit`](qiskit.circuit.Qubit "qiskit.circuit.Qubit")s, all are in the DAG, etc). If `False`, the caller *must* uphold these invariants itself, but the cost of several checks will be skipped. This is most useful when building a new DAG from a source of known-good nodes. + * **qargs** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*]*) – qubits that op will be applied to + * **cargs** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*]*) – cbits that op will be applied to + * **check** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If `True` (default), this function will enforce that the [`DAGCircuit`](#qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") data-structure invariants are maintained (all `qargs` are [`Qubit`](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")s, all are in the DAG, etc). If `False`, the caller *must* uphold these invariants itself, but the cost of several checks will be skipped. This is most useful when building a new DAG from a source of known-good nodes. **Returns** @@ -123,15 +123,15 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### apply\_operation\_front - + Apply an operation to the input of the circuit. **Parameters** * **op** ([*qiskit.circuit.Operation*](qiskit.circuit.Operation "qiskit.circuit.Operation")) – the operation associated with the DAG node - * **qargs** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*]*) – qubits that op will be applied to - * **cargs** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*]*) – cbits that op will be applied to - * **check** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If `True` (default), this function will enforce that the [`DAGCircuit`](#qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") data-structure invariants are maintained (all `qargs` are [`Qubit`](qiskit.circuit.Qubit "qiskit.circuit.Qubit")s, all are in the DAG, etc). If `False`, the caller *must* uphold these invariants itself, but the cost of several checks will be skipped. This is most useful when building a new DAG from a source of known-good nodes. + * **qargs** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*]*) – qubits that op will be applied to + * **cargs** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*]*) – cbits that op will be applied to + * **check** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If `True` (default), this function will enforce that the [`DAGCircuit`](#qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") data-structure invariants are maintained (all `qargs` are [`Qubit`](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")s, all are in the DAG, etc). If `False`, the caller *must* uphold these invariants itself, but the cost of several checks will be skipped. This is most useful when building a new DAG from a source of known-good nodes. **Returns** @@ -148,37 +148,41 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### bfs\_successors - + Returns an iterator of tuples of (DAGNode, \[DAGNodes]) where the DAGNode is the current node and \[DAGNode] is its successors in BFS order. ### classical\_predecessors - + Returns iterator of the predecessors of a node that are connected by a classical edge as DAGOpNodes and DAGInNodes. ### classical\_successors - + Returns iterator of the successors of a node that are connected by a classical edge as DAGOpNodes and DAGInNodes. ### collect\_1q\_runs - + Return a set of non-conditional runs of 1q “op” nodes. + + **Return type** + + [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)")\[[qiskit.dagcircuit.dagnode.DAGOpNode](qiskit.dagcircuit.DAGOpNode "qiskit.dagcircuit.dagnode.DAGOpNode")]] ### collect\_2q\_runs - + Return a set of non-conditional runs of 2q “op” nodes. ### collect\_runs - + Return a set of non-conditional runs of “op” nodes with the given names. For example, “… h q\[0]; cx q\[0],q\[1]; cx q\[0],q\[1]; h q\[1]; ..” would produce the tuple of cx nodes as an element of the set returned from a call to collect\_runs(\[“cx”]). If instead the cx nodes were “cx q\[0],q\[1]; cx q\[1],q\[0];”, the method would still return the pair in a tuple. The namelist can contain names that are not in the circuit’s basis. @@ -188,7 +192,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### compose - + Compose the `other` circuit onto the output of this circuit. A subset of input wires of `other` are mapped to a subset of output wires of this circuit. @@ -198,8 +202,8 @@ python_api_name: qiskit.dagcircuit.DAGCircuit **Parameters** * **other** ([*DAGCircuit*](#qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit")) – circuit to compose with self - * **qubits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – qubits of self to compose onto. - * **clbits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – clbits of self to compose onto. + * **qubits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – qubits of self to compose onto. + * **clbits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – clbits of self to compose onto. * **front** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If True, front composition will be performed (not implemented yet) * **inplace** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If True, modify the object. Otherwise return composed circuit. @@ -218,7 +222,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### copy\_empty\_like - + Return a copy of self with the same structure but empty. **That structure includes:** @@ -239,7 +243,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### count\_ops - + Count the occurrences of operation names. **Parameters** @@ -257,7 +261,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### count\_ops\_longest\_path - + Count the occurrences of operation names on the longest path. Returns a dictionary of counts keyed on the operation name. @@ -265,7 +269,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### depth - + Return the circuit depth. If there is control flow present, this count may only be an estimate, as the complete control-flow path cannot be statically known. **Parameters** @@ -288,13 +292,13 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### descendants - + Returns set of the descendants of a node as DAGOpNodes and DAGOutNodes. ### draw - + Draws the dag circuit. This function needs [Graphviz](https://www.graphviz.org/) to be installed. Graphviz is not a python package and can’t be pip installed (the `graphviz` package on PyPI is a Python interface library for Graphviz and does not actually install Graphviz). You can refer to [the Graphviz documentation](https://www.graphviz.org/download/) on how to install it. @@ -316,7 +320,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### edges - + Iterator for edge values and source and dest node This works by returning the output edges from the specified nodes. If no nodes are specified all edges from the graph are returned. @@ -336,12 +340,12 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### find\_bit - + Finds locations in the circuit, by mapping the Qubit and Clbit to positional index BitLocations is defined as: BitLocations = namedtuple(“BitLocations”, (“index”, “registers”)) **Parameters** - **bit** ([*Bit*](qiskit.circuit.Bit "qiskit.circuit.Bit")) – The bit to locate. + **bit** ([*Bit*](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit")) – The bit to locate. **Returns** @@ -360,13 +364,13 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### front\_layer - + Return a list of op nodes in the first layer of this dag. ### gate\_nodes - + Get the list of gate nodes in the dag. **Returns** @@ -380,13 +384,13 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### has\_calibration\_for - + Return True if the dag has a calibration defined for the node operation. In this case, the operation does not need to be translated to the device basis. ### idle\_wires - + Return idle wires. **Parameters** @@ -404,19 +408,19 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### is\_predecessor - + Checks if a second node is in the predecessors of node. ### is\_successor - + Checks if a second node is in the successors of node. ### layers - + Yield a shallow view on a layer of this DAGCircuit for all d layers of this circuit. A layer is a circuit whose gates act on disjoint qubits, i.e., a layer has depth 1. The total number of layers equals the circuit depth d. The layers are indexed from 0 to d-1 with the earliest layer at index 0. The layers are constructed using a greedy algorithm. Each returned layer is a dict containing \{“graph”: circuit graph, “partition”: list of qubit lists}. @@ -428,31 +432,31 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### longest\_path - + Returns the longest path in the dag as a list of DAGOpNodes, DAGInNodes, and DAGOutNodes. ### multi\_qubit\_ops - + Get list of 3+ qubit operations. Ignore directives like snapshot and barrier. ### multigraph\_layers - + Yield layers of the multigraph. ### named\_nodes - + Get the set of “op” nodes with the given name. ### node - + Get the node in the dag. **Parameters** @@ -470,7 +474,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### nodes - + Iterator for node values. **Yields** @@ -480,12 +484,12 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### nodes\_on\_wire - + Iterator for nodes that affect a given wire. **Parameters** - * **wire** ([*Bit*](qiskit.circuit.Bit "qiskit.circuit.Bit")) – the wire to be looked at. + * **wire** ([*Bit*](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit")) – the wire to be looked at. * **only\_ops** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – True if only the ops nodes are wanted; otherwise, all nodes are returned. **Yields** @@ -499,25 +503,25 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### num\_clbits - + Return the total number of classical bits used by the circuit. ### num\_qubits - + Return the total number of qubits used by the circuit. num\_qubits() replaces former use of width(). DAGCircuit.width() now returns qubits + clbits for consistency with Circuit.width() \[qiskit-terra #2564]. ### num\_tensor\_factors - + Compute how many components the circuit can decompose into. ### op\_nodes - + Get the list of “op” nodes in the dag. **Parameters** @@ -536,19 +540,19 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### predecessors - + Returns iterator of the predecessors of a node as DAGOpNodes and DAGInNodes. ### properties - + Return a dictionary of circuit properties. ### quantum\_causal\_cone - + Returns causal cone of a qubit. A qubit’s causal cone is the set of qubits that can influence the output of that qubit through interactions, whether through multi-qubit gates or operations. Knowing the causal cone of a qubit can be useful when debugging faulty circuits, as it can help identify which wire(s) may be causing the problem. @@ -557,7 +561,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit **Parameters** - **qubit** ([*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")) – The output qubit for which we want to find the causal cone. + **qubit** ([*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")) – The output qubit for which we want to find the causal cone. **Returns** @@ -565,50 +569,50 @@ python_api_name: qiskit.dagcircuit.DAGCircuit **Return type** - Set\[[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")] + Set\[[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")] ### quantum\_predecessors - + Returns iterator of the predecessors of a node that are connected by a quantum edge as DAGOpNodes and DAGInNodes. ### quantum\_successors - + Returns iterator of the successors of a node that are connected by a quantum edge as Opnodes and DAGOutNodes. ### remove\_all\_ops\_named - + Remove all operation nodes with the given name. ### remove\_ancestors\_of - + Remove all of the ancestor operation nodes of node. ### remove\_clbits - + Remove classical bits from the circuit. All bits MUST be idle. Any registers with references to at least one of the specified bits will also be removed. **Parameters** - **clbits** (*List\[*[*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*]*) – The bits to remove. + **clbits** (*List\[*[*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*]*) – The bits to remove. **Raises** - [**DAGCircuitError**](dagcircuit#qiskit.dagcircuit.DAGCircuitError "qiskit.dagcircuit.DAGCircuitError") – a clbit is not a [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit"), is not in the circuit, or is not idle. + [**DAGCircuitError**](dagcircuit#qiskit.dagcircuit.DAGCircuitError "qiskit.dagcircuit.DAGCircuitError") – a clbit is not a [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit"), is not in the circuit, or is not idle. ### remove\_cregs - + Remove classical registers from the circuit, leaving underlying bits in place. **Raises** @@ -619,25 +623,25 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### remove\_descendants\_of - + Remove all of the descendant operation nodes of node. ### remove\_nonancestors\_of - + Remove all of the non-ancestors operation nodes of node. ### remove\_nondescendants\_of - + Remove all of the non-descendants operation nodes of node. ### remove\_op\_node - + Remove an operation node n. Add edges from predecessors to successors. @@ -645,7 +649,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### remove\_qregs - + Remove classical registers from the circuit, leaving underlying bits in place. **Raises** @@ -656,21 +660,21 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### remove\_qubits - + Remove quantum bits from the circuit. All bits MUST be idle. Any registers with references to at least one of the specified bits will also be removed. **Parameters** - **qubits** (*List\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*]*) – The bits to remove. + **qubits** (*List\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*]*) – The bits to remove. **Raises** - [**DAGCircuitError**](dagcircuit#qiskit.dagcircuit.DAGCircuitError "qiskit.dagcircuit.DAGCircuitError") – a qubit is not a [`Qubit`](qiskit.circuit.Qubit "qiskit.circuit.Qubit"), is not in the circuit, or is not idle. + [**DAGCircuitError**](dagcircuit#qiskit.dagcircuit.DAGCircuitError "qiskit.dagcircuit.DAGCircuitError") – a qubit is not a [`Qubit`](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit"), is not in the circuit, or is not idle. ### replace\_block\_with\_op - + Replace a block of nodes with a single node. This is used to consolidate a block of DAGOpNodes into a single operation. A typical example is a block of gates being consolidated into a single `UnitaryGate` representing the unitary matrix of the block. @@ -679,7 +683,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit * **node\_block** (*List\[*[*DAGNode*](qiskit.dagcircuit.DAGNode "qiskit.dagcircuit.DAGNode")*]*) – A list of dag nodes that represents the node block to be replaced * **op** ([*qiskit.circuit.Operation*](qiskit.circuit.Operation "qiskit.circuit.Operation")) – The operation to replace the block with - * **wire\_pos\_map** (*Dict\[*[*Bit*](qiskit.circuit.Bit "qiskit.circuit.Bit")*,* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The dictionary mapping the bits to their positions in the output `qargs` or `cargs`. This is necessary to reconstruct the arg order over multiple gates in the combined single op node. If a [`Bit`](qiskit.circuit.Bit "qiskit.circuit.Bit") is not in the dictionary, it will not be added to the args; this can be useful when dealing with control-flow operations that have inherent bits in their `condition` or `target` fields. + * **wire\_pos\_map** (*Dict\[*[*Bit*](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit")*,* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The dictionary mapping the bits to their positions in the output `qargs` or `cargs`. This is necessary to reconstruct the arg order over multiple gates in the combined single op node. If a [`Bit`](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit") is not in the dictionary, it will not be added to the args; this can be useful when dealing with control-flow operations that have inherent bits in their `condition` or `target` fields. * **cycle\_check** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – When set to True this method will check that replacing the provided `node_block` with a single node would introduce a cycle (which would invalidate the `DAGCircuit`) and will raise a `DAGCircuitError` if a cycle would be introduced. This checking comes with a run time penalty. If you can guarantee that your input `node_block` is a contiguous block and won’t introduce a cycle when it’s contracted to a single node, this can be set to `False` to improve the runtime performance of this method. **Raises** @@ -697,7 +701,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### reverse\_ops - + Reverse the operations in the `self` circuit. **Returns** @@ -711,7 +715,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### separable\_circuits - + Decompose the circuit into sets of qubits with no gates connecting them. **Parameters** @@ -733,7 +737,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### serial\_layers - + Yield a layer for all gates of this circuit. A serial layer is a circuit with one gate. The layers have the same structure as in layers(). @@ -741,7 +745,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### size - + Return the number of operations. If there is control flow present, this count may only be an estimate, as the complete control-flow path cannot be statically known. **Parameters** @@ -763,7 +767,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### substitute\_node - + Replace an DAGOpNode with a single operation. qargs, cargs and conditions for the new operation will be inferred from the node to be replaced. The new operation will be checked to match the shape of the replaced operation. **Parameters** @@ -789,14 +793,14 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### substitute\_node\_with\_dag - + Replace one node with dag. **Parameters** * **node** ([*DAGOpNode*](qiskit.dagcircuit.DAGOpNode "qiskit.dagcircuit.DAGOpNode")) – node to substitute * **input\_dag** ([*DAGCircuit*](#qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit")) – circuit that will substitute the node - * **wires** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Bit*](qiskit.circuit.Bit "qiskit.circuit.Bit")*] | Dict\[*[*Bit*](qiskit.circuit.Bit "qiskit.circuit.Bit")*,* [*Bit*](qiskit.circuit.Bit "qiskit.circuit.Bit")*]*) – gives an order for (qu)bits in the input circuit. If a list, then the bits refer to those in the `input_dag`, and the order gets matched to the node wires by qargs first, then cargs, then conditions. If a dictionary, then a mapping of bits in the `input_dag` to those that the `node` acts on. + * **wires** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Bit*](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit")*] | Dict\[*[*Bit*](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit")*,* [*Bit*](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit")*]*) – gives an order for (qu)bits in the input circuit. If a list, then the bits refer to those in the `input_dag`, and the order gets matched to the node wires by qargs first, then cargs, then conditions. If a dictionary, then a mapping of bits in the `input_dag` to those that the `node` acts on. * **propagate\_condition** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If `True` (default), then any `condition` attribute on the operation within `node` is propagated to each node in the `input_dag`. If `False`, then the `input_dag` is assumed to faithfully implement suitable conditional logic already. This is ignored for [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp")s (i.e. treated as if it is `False`); replacements of those must already fulfill the same conditional logic or this function would be close to useless for them. **Returns** @@ -814,13 +818,13 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### successors - + Returns iterator of the successors of a node as DAGOpNodes and DAGOutNodes. ### swap\_nodes - + Swap connected nodes e.g. due to commutation. **Parameters** @@ -835,7 +839,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### topological\_nodes - + Yield nodes in topological order. **Parameters** @@ -853,7 +857,7 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### topological\_op\_nodes - + Yield op nodes in topological order. Allowed to pass in specific key to break ties in top order @@ -873,13 +877,13 @@ python_api_name: qiskit.dagcircuit.DAGCircuit ### two\_qubit\_ops - + Get list of 2 qubit operations. Ignore directives like snapshot and barrier. ### width - + Return the total number of qubits + clbits used by the circuit. This function formerly returned the number of qubits by the calculation return len(self.\_wires) - self.num\_clbits() but was changed by issue #2564 to return number of qubits + clbits with the new function DAGCircuit.num\_qubits replacing the former semantic of DAGCircuit.width(). diff --git a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGDepNode.mdx b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGDepNode.mdx index 274b2dec41f..a46a3c085ce 100644 --- a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGDepNode.mdx +++ b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGDepNode.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.dagcircuit.DAGDepNode # DAGDepNode - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Object to represent the information at a node in the DAGDependency(). @@ -31,7 +31,7 @@ python_api_name: qiskit.dagcircuit.DAGDepNode ### sort\_key - + ### node\_id @@ -39,11 +39,11 @@ python_api_name: qiskit.dagcircuit.DAGDepNode ### successors - + ### predecessors - + ### reachable @@ -51,23 +51,23 @@ python_api_name: qiskit.dagcircuit.DAGDepNode ### matchedwith - + ### isblocked - + ### successorstovisit - + ### qindices - + ### cindices - + ### op @@ -85,13 +85,13 @@ python_api_name: qiskit.dagcircuit.DAGDepNode ### copy - + Function to copy a DAGDepNode object. :returns: a copy of a DAGDepNode object. :rtype: DAGDepNode ### semantic\_eq - + Check if DAG nodes are considered equivalent, e.g., as a node\_match for nx.is\_isomorphic. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGDependency.mdx b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGDependency.mdx index 24e29140e3a..ccc0379038f 100644 --- a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGDependency.mdx +++ b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGDependency.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency # DAGDependency - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Object to represent a quantum circuit as a Directed Acyclic Graph (DAG) via operation dependencies (i.e. lack of commutation). @@ -57,55 +57,55 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### add\_clbits - + Add individual clbit wires. ### add\_creg - + Add clbits in a classical register. ### add\_op\_node - + Add a DAGDepNode to the graph and update the edges. **Parameters** * **operation** ([*qiskit.circuit.Operation*](qiskit.circuit.Operation "qiskit.circuit.Operation")) – operation as a quantum gate - * **qargs** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*]*) – list of qubits on which the operation acts - * **cargs** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Clbit*](qiskit.circuit.Clbit "qiskit.circuit.Clbit")*]*) – list of classical wires to attach to + * **qargs** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*]*) – list of qubits on which the operation acts + * **cargs** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Clbit*](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit")*]*) – list of classical wires to attach to ### add\_qreg - + Add qubits in a quantum register. ### add\_qubits - + Add individual qubit wires. ### copy - + Function to copy a DAGDependency object. :returns: a copy of a DAGDependency object. :rtype: DAGDependency ### depth - + Return the circuit depth. :returns: the circuit depth :rtype: int ### direct\_predecessors - + Direct predecessors id of a given node as sorted list. **Parameters** @@ -123,7 +123,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### direct\_successors - + Direct successors id of a given node as sorted list. **Parameters** @@ -141,7 +141,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### draw - + Draws the DAGDependency graph. This function needs pydot \<[https://github.com/erocarrera/pydot](https://github.com/erocarrera/pydot)>, which in turn needs Graphviz \<[https://www.graphviz.org/](https://www.graphviz.org/)>\` to be installed. @@ -163,7 +163,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### get\_all\_edges - + Enumeration of all edges. **Returns** @@ -177,7 +177,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### get\_edges - + Edge enumeration between two nodes through method get\_all\_edge\_data. **Parameters** @@ -196,7 +196,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### get\_in\_edges - + Enumeration of all incoming edges for a given node. **Parameters** @@ -214,7 +214,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### get\_node - + **Parameters** **node\_id** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – label of considered node. @@ -230,7 +230,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### get\_nodes - + **Returns** iterator over all the nodes. @@ -242,7 +242,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### get\_out\_edges - + Enumeration of all outgoing edges for a given node. **Parameters** @@ -260,7 +260,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### predecessors - + Predecessors id of a given node as sorted list. **Parameters** @@ -278,7 +278,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### replace\_block\_with\_op - + Replace a block of nodes with a single node. This is used to consolidate a block of DAGDepNodes into a single operation. A typical example is a block of CX and SWAP gates consolidated into a LinearFunction. This function is an adaptation of a similar function from DAGCircuit. @@ -289,7 +289,7 @@ python_api_name: qiskit.dagcircuit.DAGDependency * **node\_block** (*List\[*[*DAGDepNode*](qiskit.dagcircuit.DAGDepNode "qiskit.dagcircuit.DAGDepNode")*]*) – A list of dag nodes that represents the node block to be replaced * **op** ([*qiskit.circuit.Operation*](qiskit.circuit.Operation "qiskit.circuit.Operation")) – The operation to replace the block with - * **wire\_pos\_map** (*Dict\[*[*Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")*,* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The dictionary mapping the qarg to the position. This is necessary to reconstruct the qarg order over multiple gates in the combined single op node. + * **wire\_pos\_map** (*Dict\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")*,* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – The dictionary mapping the qarg to the position. This is necessary to reconstruct the qarg order over multiple gates in the combined single op node. * **cycle\_check** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – When set to True this method will check that replacing the provided `node_block` with a single node would introduce a cycle (which would invalidate the `DAGDependency`) and will raise a `DAGDependencyError` if a cycle would be introduced. This checking comes with a run time penalty. If you can guarantee that your input `node_block` is a contiguous block and won’t introduce a cycle when it’s contracted to a single node, this can be set to `False` to improve the runtime performance of this method. **Raises** @@ -299,13 +299,13 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### size - + Returns the number of gates in the circuit ### successors - + Successors id of a given node as sorted list. **Parameters** @@ -323,13 +323,13 @@ python_api_name: qiskit.dagcircuit.DAGDependency ### to\_retworkx - + Returns the DAGDependency in retworkx format. ### topological\_nodes - + Yield nodes in topological order. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGInNode.mdx b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGInNode.mdx index 974a38cecff..0a91efe7021 100644 --- a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGInNode.mdx +++ b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGInNode.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.dagcircuit.DAGInNode # DAGInNode - + Bases: [`DAGNode`](qiskit.dagcircuit.DAGNode "qiskit.dagcircuit.dagnode.DAGNode") Object to represent an incoming wire node in the DAGCircuit. @@ -29,7 +29,7 @@ python_api_name: qiskit.dagcircuit.DAGInNode ### semantic\_eq - + 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.mdx b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGNode.mdx index 98577c019c6..6005bed46b1 100644 --- a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGNode.mdx +++ b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGNode.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.dagcircuit.DAGNode # DAGNode - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Parent class for DAGOpNode, DAGInNode, and DAGOutNode. @@ -19,7 +19,7 @@ python_api_name: qiskit.dagcircuit.DAGNode ### semantic\_eq - + 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.mdx b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGOpNode.mdx index 2c7009e7f2d..95bb588e3cf 100644 --- a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGOpNode.mdx +++ b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGOpNode.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.dagcircuit.DAGOpNode # DAGOpNode - + Bases: [`DAGNode`](qiskit.dagcircuit.DAGNode "qiskit.dagcircuit.dagnode.DAGNode") Object to represent an Instruction at a node in the DAGCircuit. @@ -43,7 +43,7 @@ python_api_name: qiskit.dagcircuit.DAGOpNode ### semantic\_eq - + 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.mdx b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGOutNode.mdx index 884d8abe19d..0259bf4dfd9 100644 --- a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGOutNode.mdx +++ b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGOutNode.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.dagcircuit.DAGOutNode # DAGOutNode - + Bases: [`DAGNode`](qiskit.dagcircuit.DAGNode "qiskit.dagcircuit.dagnode.DAGNode") Object to represent an outgoing wire node in the DAGCircuit. @@ -29,7 +29,7 @@ python_api_name: qiskit.dagcircuit.DAGOutNode ### semantic\_eq - + 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.passmanager.BaseController.mdx b/docs/api/qiskit/dev/qiskit.passmanager.BaseController.mdx index 992ad82d8e8..acc04161778 100644 --- a/docs/api/qiskit/dev/qiskit.passmanager.BaseController.mdx +++ b/docs/api/qiskit/dev/qiskit.passmanager.BaseController.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.passmanager.BaseController # BaseController - + Bases: `Task`, [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Base class of controller. @@ -25,7 +25,7 @@ python_api_name: qiskit.passmanager.BaseController ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -45,7 +45,7 @@ python_api_name: qiskit.passmanager.BaseController ### iter\_tasks - + A custom logic to choose a next task to run. Controller subclass can consume the state to build a proper task pipeline. The updated state after a task execution will be fed back in as the “return” value of any `yield` statements. This indicates the order of task execution is only determined at running time. This method is not allowed to mutate the given state object. diff --git a/docs/api/qiskit/dev/qiskit.passmanager.BasePassManager.mdx b/docs/api/qiskit/dev/qiskit.passmanager.BasePassManager.mdx index 28f58ed37c4..1bd848ebc01 100644 --- a/docs/api/qiskit/dev/qiskit.passmanager.BasePassManager.mdx +++ b/docs/api/qiskit/dev/qiskit.passmanager.BasePassManager.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.passmanager.BasePassManager # BasePassManager - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Pass manager base class. @@ -24,7 +24,7 @@ python_api_name: qiskit.passmanager.BasePassManager ### append - + Append tasks to the schedule of passes. **Parameters** @@ -38,7 +38,7 @@ python_api_name: qiskit.passmanager.BasePassManager ### remove - + Removes a particular pass in the scheduler. **Parameters** @@ -52,7 +52,7 @@ python_api_name: qiskit.passmanager.BasePassManager ### replace - + Replace a particular pass in the scheduler. **Parameters** @@ -68,7 +68,7 @@ python_api_name: qiskit.passmanager.BasePassManager ### run - + Run all the passes on the specified `in_programs`. **Parameters** @@ -116,7 +116,7 @@ python_api_name: qiskit.passmanager.BasePassManager ### to\_flow\_controller - + Linearize this manager into a single [`FlowControllerLinear`](qiskit.passmanager.FlowControllerLinear "qiskit.passmanager.FlowControllerLinear"), so that it can be nested inside another pass manager. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.passmanager.ConditionalController.mdx b/docs/api/qiskit/dev/qiskit.passmanager.ConditionalController.mdx index c5d67bf8cf7..6fc3a44a7f0 100644 --- a/docs/api/qiskit/dev/qiskit.passmanager.ConditionalController.mdx +++ b/docs/api/qiskit/dev/qiskit.passmanager.ConditionalController.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.passmanager.ConditionalController # ConditionalController - + Bases: [`BaseController`](qiskit.passmanager.BaseController "qiskit.passmanager.base_tasks.BaseController") A flow controller runs the pipeline once if the condition is true, or does nothing if the condition is false. @@ -31,7 +31,7 @@ python_api_name: qiskit.passmanager.ConditionalController ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -51,7 +51,7 @@ python_api_name: qiskit.passmanager.ConditionalController ### iter\_tasks - + A custom logic to choose a next task to run. Controller subclass can consume the state to build a proper task pipeline. The updated state after a task execution will be fed back in as the “return” value of any `yield` statements. This indicates the order of task execution is only determined at running time. This method is not allowed to mutate the given state object. diff --git a/docs/api/qiskit/dev/qiskit.passmanager.DoWhileController.mdx b/docs/api/qiskit/dev/qiskit.passmanager.DoWhileController.mdx index 2686a11156f..ce6b773e4eb 100644 --- a/docs/api/qiskit/dev/qiskit.passmanager.DoWhileController.mdx +++ b/docs/api/qiskit/dev/qiskit.passmanager.DoWhileController.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.passmanager.DoWhileController # DoWhileController - + Bases: [`BaseController`](qiskit.passmanager.BaseController "qiskit.passmanager.base_tasks.BaseController") Run the given tasks in a loop until the `do_while` condition on the property set becomes `False`. @@ -33,7 +33,7 @@ python_api_name: qiskit.passmanager.DoWhileController ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -53,7 +53,7 @@ python_api_name: qiskit.passmanager.DoWhileController ### iter\_tasks - + A custom logic to choose a next task to run. Controller subclass can consume the state to build a proper task pipeline. The updated state after a task execution will be fed back in as the “return” value of any `yield` statements. This indicates the order of task execution is only determined at running time. This method is not allowed to mutate the given state object. diff --git a/docs/api/qiskit/dev/qiskit.passmanager.FlowControllerLinear.mdx b/docs/api/qiskit/dev/qiskit.passmanager.FlowControllerLinear.mdx index 1ec1355bdc6..b004a7bf61f 100644 --- a/docs/api/qiskit/dev/qiskit.passmanager.FlowControllerLinear.mdx +++ b/docs/api/qiskit/dev/qiskit.passmanager.FlowControllerLinear.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.passmanager.FlowControllerLinear # FlowControllerLinear - + Bases: [`BaseController`](qiskit.passmanager.BaseController "qiskit.passmanager.base_tasks.BaseController") A standard flow controller that runs tasks one after the other. @@ -31,7 +31,7 @@ python_api_name: qiskit.passmanager.FlowControllerLinear ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -51,7 +51,7 @@ python_api_name: qiskit.passmanager.FlowControllerLinear ### iter\_tasks - + A custom logic to choose a next task to run. Controller subclass can consume the state to build a proper task pipeline. The updated state after a task execution will be fed back in as the “return” value of any `yield` statements. This indicates the order of task execution is only determined at running time. This method is not allowed to mutate the given state object. diff --git a/docs/api/qiskit/dev/qiskit.passmanager.GenericPass.mdx b/docs/api/qiskit/dev/qiskit.passmanager.GenericPass.mdx index 7e5f147bfc6..d13d915a6c6 100644 --- a/docs/api/qiskit/dev/qiskit.passmanager.GenericPass.mdx +++ b/docs/api/qiskit/dev/qiskit.passmanager.GenericPass.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.passmanager.GenericPass # GenericPass - + Bases: `Task`, [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Base class of a single pass manager task. @@ -19,7 +19,7 @@ python_api_name: qiskit.passmanager.GenericPass ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -39,7 +39,7 @@ python_api_name: qiskit.passmanager.GenericPass ### name - + Name of the pass. **Return type** @@ -49,7 +49,7 @@ python_api_name: qiskit.passmanager.GenericPass ### run - + Run optimization task. **Parameters** @@ -67,7 +67,7 @@ python_api_name: qiskit.passmanager.GenericPass ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.passmanager.PassManagerState.mdx b/docs/api/qiskit/dev/qiskit.passmanager.PassManagerState.mdx index 82b81df8fdf..8d24fb8ca16 100644 --- a/docs/api/qiskit/dev/qiskit.passmanager.PassManagerState.mdx +++ b/docs/api/qiskit/dev/qiskit.passmanager.PassManagerState.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.passmanager.PassManagerState # PassManagerState - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A portable container object that pass manager tasks communicate through generator. diff --git a/docs/api/qiskit/dev/qiskit.passmanager.PropertySet.mdx b/docs/api/qiskit/dev/qiskit.passmanager.PropertySet.mdx index 06e15d452b1..4211b051c56 100644 --- a/docs/api/qiskit/dev/qiskit.passmanager.PropertySet.mdx +++ b/docs/api/qiskit/dev/qiskit.passmanager.PropertySet.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.passmanager.PropertySet # PropertySet - + Bases: [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") A default dictionary-like object. diff --git a/docs/api/qiskit/dev/qiskit.passmanager.WorkflowStatus.mdx b/docs/api/qiskit/dev/qiskit.passmanager.WorkflowStatus.mdx index 206d9d6bbfe..ad70267c0e4 100644 --- a/docs/api/qiskit/dev/qiskit.passmanager.WorkflowStatus.mdx +++ b/docs/api/qiskit/dev/qiskit.passmanager.WorkflowStatus.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.passmanager.WorkflowStatus # WorkflowStatus - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Collection of compilation status of workflow, i.e. pass manager run. diff --git a/docs/api/qiskit/dev/qiskit.primitives.BackendEstimator.mdx b/docs/api/qiskit/dev/qiskit.primitives.BackendEstimator.mdx index e9711945d61..d9aa29f9cc7 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.BackendEstimator.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.BackendEstimator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BackendEstimator # BackendEstimator - + 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. @@ -69,7 +69,7 @@ python_api_name: qiskit.primitives.BackendEstimator ### run - + 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 @@ -113,7 +113,7 @@ python_api_name: qiskit.primitives.BackendEstimator ### set\_options - + Set options values for the estimator. **Parameters** @@ -123,7 +123,7 @@ python_api_name: qiskit.primitives.BackendEstimator ### set\_transpile\_options - + Set the transpiler options for transpiler. :param \*\*fields: The fields to update the options diff --git a/docs/api/qiskit/dev/qiskit.primitives.BackendEstimatorV2.mdx b/docs/api/qiskit/dev/qiskit.primitives.BackendEstimatorV2.mdx new file mode 100644 index 00000000000..906261f9b4c --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.primitives.BackendEstimatorV2.mdx @@ -0,0 +1,68 @@ +--- +title: BackendEstimatorV2 +description: API reference for qiskit.primitives.BackendEstimatorV2 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.primitives.BackendEstimatorV2 +--- + +# BackendEstimatorV2 + + + Bases: [`BaseEstimatorV2`](qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.base.base_estimator.BaseEstimatorV2") + + Evaluates expectation values for provided quantum circuit and observable combinations + + The [`BackendEstimatorV2`](#qiskit.primitives.BackendEstimatorV2 "qiskit.primitives.BackendEstimatorV2") class is a generic implementation of the [`BaseEstimatorV2`](qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.BaseEstimatorV2") interface that is used to wrap a [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") (or [`BackendV1`](qiskit.providers.BackendV1 "qiskit.providers.BackendV1")) object in the [`BaseEstimatorV2`](qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.BaseEstimatorV2") API. It facilitates using backends that do not provide a native [`BaseEstimatorV2`](qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.BaseEstimatorV2") implementation in places that work with [`BaseEstimatorV2`](qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.BaseEstimatorV2"). However, if you’re using a provider that has a native implementation of [`BaseEstimatorV2`](qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.BaseEstimatorV2"), it is a better choice to leverage that native implementation as it will likely include additional optimizations and be a more efficient implementation. The generic nature of this class precludes doing any provider- or backend-specific optimizations. + + This class does not perform any measurement or gate mitigation, and, presently, 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()`](#qiskit.primitives.BackendEstimatorV2.run "qiskit.primitives.BackendEstimatorV2.run") method can be given a sequence of pubs to run in one call. + + The options for [`BackendEstimatorV2`](#qiskit.primitives.BackendEstimatorV2 "qiskit.primitives.BackendEstimatorV2") consist of the following items. + + * `default_precision`: The default precision to use if none are specified in [`run()`](#qiskit.primitives.BackendEstimatorV2.run "qiskit.primitives.BackendEstimatorV2.run"). Default: 0.015625 (1 / sqrt(4096)). + * `abelian_grouping`: Whether the observables should be grouped into sets of qubit-wise commuting observables. Default: True. + * `seed_simulator`: The seed to use in the simulator. If None, a random seed will be used. Default: None. + + **Parameters** + + * **backend** ([*BackendV1*](qiskit.providers.BackendV1 "qiskit.providers.BackendV1") *|*[*BackendV2*](qiskit.providers.BackendV2 "qiskit.providers.BackendV2")) – The backend to run the primitive on. + * **options** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") *| None*) – The options to control the default precision (`default_precision`), the operator grouping (`abelian_grouping`), and the random seed for the simulator (`seed_simulator`). + + ## Attributes + + ### backend + + + Returns the backend which this sampler object based on. + + + ### options + + + Return the options + + + ## Methods + + ### run + + + Estimate expectation values for each provided pub (Primitive Unified Bloc). + + **Parameters** + + * **pubs** (*Iterable\[EstimatorPubLike]*) – An iterable of pub-like objects, such as tuples `(circuit, observables)` or `(circuit, observables, parameter_values)`. + * **precision** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)") *| None*) – The target precision for expectation value estimates of each run Estimator Pub that does not specify its own precision. If None the estimator’s default precision value will be used. + + **Returns** + + A job object that contains results. + + **Return type** + + [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.BackendSampler.mdx b/docs/api/qiskit/dev/qiskit.primitives.BackendSampler.mdx index ce642e5fa2c..dacf34c701f 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.BackendSampler.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.BackendSampler.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BackendSampler # BackendSampler - + 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. @@ -76,7 +76,7 @@ python_api_name: qiskit.primitives.BackendSampler ### run - + Run the job of the sampling of bitstrings. **Parameters** @@ -100,7 +100,7 @@ python_api_name: qiskit.primitives.BackendSampler ### set\_options - + Set options values for the estimator. **Parameters** @@ -110,7 +110,7 @@ python_api_name: qiskit.primitives.BackendSampler ### set\_transpile\_options - + Set the transpiler options for transpiler. :param \*\*fields: The fields to update the options. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.primitives.BackendSamplerV2.mdx b/docs/api/qiskit/dev/qiskit.primitives.BackendSamplerV2.mdx new file mode 100644 index 00000000000..cb01b3659fb --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.primitives.BackendSamplerV2.mdx @@ -0,0 +1,71 @@ +--- +title: BackendSamplerV2 +description: API reference for qiskit.primitives.BackendSamplerV2 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.primitives.BackendSamplerV2 +--- + +# BackendSamplerV2 + + + Bases: [`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.base.base_sampler.BaseSamplerV2") + + Evaluates bitstrings for provided quantum circuits + + The [`BackendSamplerV2`](#qiskit.primitives.BackendSamplerV2 "qiskit.primitives.BackendSamplerV2") class is a generic implementation of the [`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2") interface that is used to wrap a [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") (or [`BackendV1`](qiskit.providers.BackendV1 "qiskit.providers.BackendV1")) object in the class [`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2") API. It facilitates using backends that do not provide a native [`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2") implementation in places that work with [`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2"). However, if you’re using a provider that has a native implementation of [`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2"), it is a better choice to leverage that native implementation as it will likely include additional optimizations and be a more efficient implementation. The generic nature of this class precludes doing any provider- or backend-specific optimizations. + + This class does not perform any measurement or gate mitigation. + + Each tuple of `(circuit, parameter values, shots)`, called a sampler primitive unified bloc (PUB), produces its own array-valued result. The [`run()`](#qiskit.primitives.BackendSamplerV2.run "qiskit.primitives.BackendSamplerV2.run") method can be given many pubs at once. + + The options for [`BackendSamplerV2`](#qiskit.primitives.BackendSamplerV2 "qiskit.primitives.BackendSamplerV2") consist of the following items. + + * `default_shots`: The default shots to use if none are specified in [`run()`](#qiskit.primitives.BackendSamplerV2.run "qiskit.primitives.BackendSamplerV2.run"). Default: 1024. + * `seed_simulator`: The seed to use in the simulator. If None, a random seed will be used. Default: None. + + + This class requires a backend that supports `memory` option. + + + **Parameters** + + * **backend** ([*BackendV1*](qiskit.providers.BackendV1 "qiskit.providers.BackendV1") *|*[*BackendV2*](qiskit.providers.BackendV2 "qiskit.providers.BackendV2")) – The backend to run the primitive on. + * **options** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") *| None*) – The options to control the default shots (`default_shots`) and the random seed for the simulator (`seed_simulator`). + + ## Attributes + + ### backend + + + Returns the backend which this sampler object based on. + + + ### options + + + Return the options + + + ## Methods + + ### run + + + Run and collect samples from each pub. + + **Parameters** + + * **pubs** (*Iterable\[SamplerPubLike]*) – An iterable of pub-like objects. For example, a list of circuits or tuples `(circuit, parameter_values)`. + * **shots** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *| None*) – The total number of shots to sample for each sampler pub that does not specify its own shots. If `None`, the primitive’s default shots value will be used, which can vary by implementation. + + **Returns** + + The job object of Sampler’s result. + + **Return type** + + [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.BaseEstimator.mdx b/docs/api/qiskit/dev/qiskit.primitives.BaseEstimator.mdx index d6ffab04e84..f4ddf397cea 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.BaseEstimator.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.BaseEstimator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BaseEstimator # BaseEstimator - + alias of [`BaseEstimatorV1`](qiskit.primitives.BaseEstimatorV1 "qiskit.primitives.base.base_estimator.BaseEstimatorV1") diff --git a/docs/api/qiskit/dev/qiskit.primitives.BaseEstimatorV1.mdx b/docs/api/qiskit/dev/qiskit.primitives.BaseEstimatorV1.mdx index 0acda6f7df2..3a6e80d19ee 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.BaseEstimatorV1.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.BaseEstimatorV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BaseEstimatorV1 # BaseEstimatorV1 - + Bases: `BasePrimitive`, [`Generic`](https://docs.python.org/3/library/typing.html#typing.Generic "(in Python v3.12)")\[`T`] Estimator V1 base class. @@ -82,7 +82,7 @@ $$ ### run - + 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 @@ -126,7 +126,7 @@ $$ ### set\_options - + Set options values for the estimator. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.primitives.BaseEstimatorV2.mdx b/docs/api/qiskit/dev/qiskit.primitives.BaseEstimatorV2.mdx index d08edbfbf19..e32914f3059 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.BaseEstimatorV2.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.BaseEstimatorV2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BaseEstimatorV2 # BaseEstimatorV2 - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Estimator V2 base class. @@ -21,7 +21,7 @@ python_api_name: qiskit.primitives.BaseEstimatorV2 ### run - + Estimate expectation values for each provided pub (Primitive Unified Bloc). **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.primitives.BasePrimitiveJob.mdx b/docs/api/qiskit/dev/qiskit.primitives.BasePrimitiveJob.mdx index 6dc41343b95..d613ba42370 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.BasePrimitiveJob.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.BasePrimitiveJob.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BasePrimitiveJob # BasePrimitiveJob - + 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. @@ -24,13 +24,13 @@ python_api_name: qiskit.primitives.BasePrimitiveJob ### cancel - + Attempt to cancel the job. ### cancelled - + Return whether the job has been cancelled. **Return type** @@ -40,7 +40,7 @@ python_api_name: qiskit.primitives.BasePrimitiveJob ### done - + Return whether the job has successfully run. **Return type** @@ -50,7 +50,7 @@ python_api_name: qiskit.primitives.BasePrimitiveJob ### in\_final\_state - + Return whether the job is in a final job state such as `DONE` or `ERROR`. **Return type** @@ -60,7 +60,7 @@ python_api_name: qiskit.primitives.BasePrimitiveJob ### job\_id - + Return a unique id identifying the job. **Return type** @@ -70,7 +70,7 @@ python_api_name: qiskit.primitives.BasePrimitiveJob ### result - + Return the results of the job. **Return type** @@ -80,7 +80,7 @@ python_api_name: qiskit.primitives.BasePrimitiveJob ### running - + Return whether the job is actively running. **Return type** @@ -90,7 +90,7 @@ python_api_name: qiskit.primitives.BasePrimitiveJob ### status - + Return the status of the job. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.primitives.BaseSampler.mdx b/docs/api/qiskit/dev/qiskit.primitives.BaseSampler.mdx index de3f8ebe7af..fbd27621848 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.BaseSampler.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.BaseSampler.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BaseSampler # BaseSampler - + alias of [`BaseSamplerV1`](qiskit.primitives.BaseSamplerV1 "qiskit.primitives.base.base_sampler.BaseSamplerV1") diff --git a/docs/api/qiskit/dev/qiskit.primitives.BaseSamplerV1.mdx b/docs/api/qiskit/dev/qiskit.primitives.BaseSamplerV1.mdx index e47965e2c13..c47f3ab33b7 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.BaseSamplerV1.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.BaseSamplerV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BaseSamplerV1 # BaseSamplerV1 - + Bases: `BasePrimitive`, [`Generic`](https://docs.python.org/3/library/typing.html#typing.Generic "(in Python v3.12)")\[`T`] Sampler V1 base class @@ -81,7 +81,7 @@ python_api_name: qiskit.primitives.BaseSamplerV1 ### run - + Run the job of the sampling of bitstrings. **Parameters** @@ -105,7 +105,7 @@ python_api_name: qiskit.primitives.BaseSamplerV1 ### set\_options - + Set options values for the estimator. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.primitives.BaseSamplerV2.mdx b/docs/api/qiskit/dev/qiskit.primitives.BaseSamplerV2.mdx index 329a0d0c784..6906f423048 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.BaseSamplerV2.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.BaseSamplerV2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BaseSamplerV2 # BaseSamplerV2 - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Sampler V2 base class. @@ -21,7 +21,7 @@ python_api_name: qiskit.primitives.BaseSamplerV2 ### run - + Run and collect samples from each pub. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.primitives.BitArray.mdx b/docs/api/qiskit/dev/qiskit.primitives.BitArray.mdx index fd2b0b31eb4..59ebb39f368 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.BitArray.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.BitArray.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.BitArray # BitArray - + Bases: `ShapedMixin` Stores an array of bit values. @@ -65,7 +65,7 @@ python_api_name: qiskit.primitives.BitArray ### bitcount - + Compute the number of ones appearing in the binary representation of each shot. **Returns** @@ -79,7 +79,7 @@ python_api_name: qiskit.primitives.BitArray ### from\_bool\_array - + Construct a new bit array from an array of bools. **Parameters** @@ -98,7 +98,7 @@ python_api_name: qiskit.primitives.BitArray ### from\_counts - + 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. @@ -124,7 +124,7 @@ python_api_name: qiskit.primitives.BitArray ### from\_samples - + 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"`. @@ -151,7 +151,7 @@ python_api_name: qiskit.primitives.BitArray ### get\_bitstrings - + Return a list of bitstrings. **Parameters** @@ -169,7 +169,7 @@ python_api_name: qiskit.primitives.BitArray ### get\_counts - + Return a counts dictionary with bitstring keys. **Parameters** @@ -187,7 +187,7 @@ python_api_name: qiskit.primitives.BitArray ### get\_int\_counts - + Return a counts dictionary, where bitstrings are stored as `int`s. **Parameters** @@ -205,7 +205,7 @@ python_api_name: qiskit.primitives.BitArray ### reshape - + 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`. diff --git a/docs/api/qiskit/dev/qiskit.primitives.DataBin.mdx b/docs/api/qiskit/dev/qiskit.primitives.DataBin.mdx index 83e21d9603a..df03aa398c3 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.DataBin.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.DataBin.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.DataBin # DataBin - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Base class for data bin containers. diff --git a/docs/api/qiskit/dev/qiskit.primitives.Estimator.mdx b/docs/api/qiskit/dev/qiskit.primitives.Estimator.mdx index 4ee3770a770..f90a4bd5c4f 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.Estimator.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.Estimator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.Estimator # Estimator - + 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"). @@ -42,7 +42,7 @@ python_api_name: qiskit.primitives.Estimator ### run - + 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 @@ -86,7 +86,7 @@ python_api_name: qiskit.primitives.Estimator ### set\_options - + Set options values for the estimator. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.primitives.EstimatorResult.mdx b/docs/api/qiskit/dev/qiskit.primitives.EstimatorResult.mdx index 3c372f4bd22..ff1f46a64ac 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.EstimatorResult.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.EstimatorResult.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.EstimatorResult # EstimatorResult - + Bases: `_BasePrimitiveResult` Result of Estimator. diff --git a/docs/api/qiskit/dev/qiskit.primitives.PrimitiveJob.mdx b/docs/api/qiskit/dev/qiskit.primitives.PrimitiveJob.mdx index 477be56fe4a..186503664fb 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.PrimitiveJob.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.PrimitiveJob.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.PrimitiveJob # PrimitiveJob - + 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. @@ -21,13 +21,13 @@ python_api_name: qiskit.primitives.PrimitiveJob ### cancel - + Attempt to cancel the job. ### cancelled - + Return whether the job has been cancelled. **Return type** @@ -37,7 +37,7 @@ python_api_name: qiskit.primitives.PrimitiveJob ### done - + Return whether the job has successfully run. **Return type** @@ -47,7 +47,7 @@ python_api_name: qiskit.primitives.PrimitiveJob ### in\_final\_state - + Return whether the job is in a final job state such as `DONE` or `ERROR`. **Return type** @@ -57,7 +57,7 @@ python_api_name: qiskit.primitives.PrimitiveJob ### job\_id - + Return a unique id identifying the job. **Return type** @@ -67,7 +67,7 @@ python_api_name: qiskit.primitives.PrimitiveJob ### result - + Return the results of the job. **Return type** @@ -77,7 +77,7 @@ python_api_name: qiskit.primitives.PrimitiveJob ### running - + Return whether the job is actively running. **Return type** @@ -87,7 +87,7 @@ python_api_name: qiskit.primitives.PrimitiveJob ### status - + Return the status of the job. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.primitives.PrimitiveResult.mdx b/docs/api/qiskit/dev/qiskit.primitives.PrimitiveResult.mdx index 5fe2d30a534..1bd9b1cc674 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.PrimitiveResult.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.PrimitiveResult.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.PrimitiveResult # PrimitiveResult - + Bases: [`Generic`](https://docs.python.org/3/library/typing.html#typing.Generic "(in Python v3.12)")\[`T`] A container for multiple pub results and global metadata. diff --git a/docs/api/qiskit/dev/qiskit.primitives.PubResult.mdx b/docs/api/qiskit/dev/qiskit.primitives.PubResult.mdx index 724012897cf..9571084e1b7 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.PubResult.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.PubResult.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.PubResult # PubResult - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Result of Primitive Unified Bloc. diff --git a/docs/api/qiskit/dev/qiskit.primitives.Sampler.mdx b/docs/api/qiskit/dev/qiskit.primitives.Sampler.mdx index ea9d4aa9fac..ab23f03f6ac 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.Sampler.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.Sampler.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.Sampler # Sampler - + 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. @@ -44,7 +44,7 @@ python_api_name: qiskit.primitives.Sampler ### run - + Run the job of the sampling of bitstrings. **Parameters** @@ -68,7 +68,7 @@ python_api_name: qiskit.primitives.Sampler ### set\_options - + Set options values for the estimator. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.primitives.SamplerResult.mdx b/docs/api/qiskit/dev/qiskit.primitives.SamplerResult.mdx index 803811d5018..335950c5c9b 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.SamplerResult.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.SamplerResult.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.SamplerResult # SamplerResult - + Bases: `_BasePrimitiveResult` Result of Sampler. diff --git a/docs/api/qiskit/dev/qiskit.primitives.StatevectorEstimator.mdx b/docs/api/qiskit/dev/qiskit.primitives.StatevectorEstimator.mdx index 9fba20476b6..4f167392b2c 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.StatevectorEstimator.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.StatevectorEstimator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.StatevectorEstimator # StatevectorEstimator - + Bases: [`BaseEstimatorV2`](qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.base.base_estimator.BaseEstimatorV2") Simple implementation of [`BaseEstimatorV2`](qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.BaseEstimatorV2") with full state vector simulation. @@ -101,7 +101,7 @@ python_api_name: qiskit.primitives.StatevectorEstimator ### run - + Estimate expectation values for each provided pub (Primitive Unified Bloc). **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.primitives.StatevectorSampler.mdx b/docs/api/qiskit/dev/qiskit.primitives.StatevectorSampler.mdx index 010e07f2d11..32f37238e5a 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.StatevectorSampler.mdx +++ b/docs/api/qiskit/dev/qiskit.primitives.StatevectorSampler.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.primitives.StatevectorSampler # StatevectorSampler - + Bases: [`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.base.base_sampler.BaseSamplerV2") Simple implementation of [`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2") using full state vector simulation. @@ -108,7 +108,7 @@ python_api_name: qiskit.primitives.StatevectorSampler ### run - + Run and collect samples from each pub. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.providers.Backend.mdx b/docs/api/qiskit/dev/qiskit.providers.Backend.mdx index 72f0b8f89a2..0524b848c8b 100644 --- a/docs/api/qiskit/dev/qiskit.providers.Backend.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.Backend.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.Backend # Backend - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Base common type for all versioned Backend abstract classes. diff --git a/docs/api/qiskit/dev/qiskit.providers.BackendV1.mdx b/docs/api/qiskit/dev/qiskit.providers.BackendV1.mdx index 1143fed7ba9..e84576e1c24 100644 --- a/docs/api/qiskit/dev/qiskit.providers.BackendV1.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.BackendV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.BackendV1 # BackendV1 - + Bases: [`Backend`](qiskit.providers.Backend "qiskit.providers.backend.Backend"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Abstract class for Backends @@ -21,7 +21,7 @@ python_api_name: qiskit.providers.BackendV1 ### \_default\_options - + Return the default options This method will return a [`qiskit.providers.Options`](qiskit.providers.Options "qiskit.providers.Options") subclass object that will be used for the default options. These should be the default parameters to use for the options of the backend. @@ -51,7 +51,7 @@ python_api_name: qiskit.providers.BackendV1 In addition to the public abstract methods, subclasses should also implement the following private methods: - + Return the default options This method will return a [`qiskit.providers.Options`](qiskit.providers.Options "qiskit.providers.Options") subclass object that will be used for the default options. These should be the default parameters to use for the options of the backend. @@ -85,7 +85,7 @@ python_api_name: qiskit.providers.BackendV1 ### configuration - + Return the backend configuration. **Returns** @@ -99,7 +99,7 @@ python_api_name: qiskit.providers.BackendV1 ### name - + Return the backend name. **Returns** @@ -113,7 +113,7 @@ python_api_name: qiskit.providers.BackendV1 ### properties - + Return the backend properties. **Returns** @@ -127,7 +127,7 @@ python_api_name: qiskit.providers.BackendV1 ### provider - + Return the backend Provider. **Returns** @@ -141,7 +141,7 @@ python_api_name: qiskit.providers.BackendV1 ### run - + Run on the backend. This method returns a [`Job`](qiskit.providers.Job "qiskit.providers.Job") object that runs circuits. Depending on the backend this may be either an async or sync call. It is at the discretion of the provider to decide whether running should block until the execution is finished or not: the Job class can handle either situation. @@ -162,7 +162,7 @@ python_api_name: qiskit.providers.BackendV1 ### set\_options - + 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. @@ -178,7 +178,7 @@ python_api_name: qiskit.providers.BackendV1 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.BackendV2.mdx b/docs/api/qiskit/dev/qiskit.providers.BackendV2.mdx index 742bffcb731..43e14bb13d7 100644 --- a/docs/api/qiskit/dev/qiskit.providers.BackendV2.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.BackendV2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.BackendV2 # BackendV2 - + Bases: [`Backend`](qiskit.providers.Backend "qiskit.providers.backend.Backend"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Abstract class for Backends @@ -25,7 +25,7 @@ python_api_name: qiskit.providers.BackendV2 ### \_default\_options - + Return the default options This method will return a [`qiskit.providers.Options`](qiskit.providers.Options "qiskit.providers.Options") subclass object that will be used for the default options. These should be the default parameters to use for the options of the backend. @@ -214,7 +214,7 @@ python_api_name: qiskit.providers.BackendV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -234,7 +234,7 @@ python_api_name: qiskit.providers.BackendV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -260,7 +260,7 @@ python_api_name: qiskit.providers.BackendV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -280,7 +280,7 @@ python_api_name: qiskit.providers.BackendV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -300,7 +300,7 @@ python_api_name: qiskit.providers.BackendV2 ### qubit\_properties - + 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. @@ -324,7 +324,7 @@ python_api_name: qiskit.providers.BackendV2 ### run - + Run on the backend. This method returns a [`Job`](qiskit.providers.Job "qiskit.providers.Job") object that runs circuits. Depending on the backend this may be either an async or sync call. It is at the discretion of the provider to decide whether running should block until the execution is finished or not: the Job class can handle either situation. @@ -345,7 +345,7 @@ python_api_name: qiskit.providers.BackendV2 ### set\_options - + 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. diff --git a/docs/api/qiskit/dev/qiskit.providers.BackendV2Converter.mdx b/docs/api/qiskit/dev/qiskit.providers.BackendV2Converter.mdx index 47406976be6..161ed78ff3c 100644 --- a/docs/api/qiskit/dev/qiskit.providers.BackendV2Converter.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.BackendV2Converter.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.BackendV2Converter # BackendV2Converter - + Bases: [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.backend.BackendV2") A converter class that takes a [`BackendV1`](qiskit.providers.BackendV1 "qiskit.providers.BackendV1") instance and wraps it in a [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") interface. @@ -32,7 +32,7 @@ python_api_name: qiskit.providers.BackendV2Converter * **backend** ([*BackendV1*](qiskit.providers.BackendV1 "qiskit.providers.BackendV1")) – The input [`BackendV1`](qiskit.providers.BackendV1 "qiskit.providers.BackendV1") based backend to wrap in a [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") interface * **name\_mapping** (*Optional\[Dict\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*, Any]]*) – An optional dictionary that maps custom gate/operation names in `backend` to an [`Operation`](qiskit.circuit.Operation "qiskit.circuit.Operation") object representing that gate/operation. By default most standard gates names are mapped to the standard gate object from [`qiskit.circuit.library`](circuit_library#module-qiskit.circuit.library "qiskit.circuit.library") this only needs to be specified if the input `backend` defines gates in names outside that set. - * **add\_delay** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If set to true a [`Delay`](qiskit.circuit.Delay "qiskit.circuit.Delay") operation will be added to the target as a supported operation for all qubits + * **add\_delay** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If set to true a [`Delay`](circuit#qiskit.circuit.Delay "qiskit.circuit.Delay") operation will be added to the target as a supported operation for all qubits * **filter\_faulty** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If the [`BackendProperties`](qiskit.providers.models.BackendProperties "qiskit.providers.models.BackendProperties") object (if present) for `backend` has any qubits or gates flagged as non-operational filter those from the output target. ## Attributes @@ -167,7 +167,7 @@ python_api_name: qiskit.providers.BackendV2Converter ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -187,7 +187,7 @@ python_api_name: qiskit.providers.BackendV2Converter ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -213,7 +213,7 @@ python_api_name: qiskit.providers.BackendV2Converter ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -233,7 +233,7 @@ python_api_name: qiskit.providers.BackendV2Converter ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -253,7 +253,7 @@ python_api_name: qiskit.providers.BackendV2Converter ### qubit\_properties - + 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. @@ -277,7 +277,7 @@ python_api_name: qiskit.providers.BackendV2Converter ### run - + Run on the backend. This method returns a [`Job`](qiskit.providers.Job "qiskit.providers.Job") object that runs circuits. Depending on the backend this may be either an async or sync call. It is at the discretion of the provider to decide whether running should block until the execution is finished or not: the Job class can handle either situation. @@ -298,7 +298,7 @@ python_api_name: qiskit.providers.BackendV2Converter ### set\_options - + 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. diff --git a/docs/api/qiskit/dev/qiskit.providers.Job.mdx b/docs/api/qiskit/dev/qiskit.providers.Job.mdx index caeab6e6730..5856416d3d6 100644 --- a/docs/api/qiskit/dev/qiskit.providers.Job.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.Job.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.Job # Job - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Base common type for all versioned Job abstract classes. diff --git a/docs/api/qiskit/dev/qiskit.providers.JobStatus.mdx b/docs/api/qiskit/dev/qiskit.providers.JobStatus.mdx index c2063c4d634..aedc9a7fb54 100644 --- a/docs/api/qiskit/dev/qiskit.providers.JobStatus.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.JobStatus.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.JobStatus # JobStatus - + Bases: [`Enum`](https://docs.python.org/3/library/enum.html#enum.Enum "(in Python v3.12)") Class for job status enumerated type. diff --git a/docs/api/qiskit/dev/qiskit.providers.JobV1.mdx b/docs/api/qiskit/dev/qiskit.providers.JobV1.mdx index 1f4fdaaf174..2d7cc87fa26 100644 --- a/docs/api/qiskit/dev/qiskit.providers.JobV1.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.JobV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.JobV1 # JobV1 - + Bases: [`Job`](qiskit.providers.Job "qiskit.providers.job.Job"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Class to handle jobs @@ -33,7 +33,7 @@ python_api_name: qiskit.providers.JobV1 ### backend - + Return the backend where this job was executed. **Return type** @@ -43,13 +43,13 @@ python_api_name: qiskit.providers.JobV1 ### cancel - + Attempt to cancel the job. ### cancelled - + Return whether the job has been cancelled. **Return type** @@ -59,7 +59,7 @@ python_api_name: qiskit.providers.JobV1 ### done - + Return whether the job has successfully run. **Return type** @@ -69,7 +69,7 @@ python_api_name: qiskit.providers.JobV1 ### in\_final\_state - + Return whether the job is in a final job state such as `DONE` or `ERROR`. **Return type** @@ -79,7 +79,7 @@ python_api_name: qiskit.providers.JobV1 ### job\_id - + Return a unique id identifying the job. **Return type** @@ -89,7 +89,7 @@ python_api_name: qiskit.providers.JobV1 ### result - + Return the results of the job. **Return type** @@ -99,7 +99,7 @@ python_api_name: qiskit.providers.JobV1 ### running - + Return whether the job is actively running. **Return type** @@ -109,7 +109,7 @@ python_api_name: qiskit.providers.JobV1 ### status - + Return the status of the job, among the values of `JobStatus`. **Return type** @@ -119,13 +119,13 @@ python_api_name: qiskit.providers.JobV1 ### submit - + Submit the job to the backend for execution. ### wait\_for\_final\_state - + Poll the job status until it progresses to a final state such as `DONE` or `ERROR`. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.providers.Options.mdx b/docs/api/qiskit/dev/qiskit.providers.Options.mdx index 42d2932ed8e..5c51b7661ab 100644 --- a/docs/api/qiskit/dev/qiskit.providers.Options.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.Options.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.Options # Options - + Bases: [`Mapping`](https://docs.python.org/3/library/collections.abc.html#collections.abc.Mapping "(in Python v3.12)") Base options object @@ -75,7 +75,7 @@ python_api_name: qiskit.providers.Options ### set\_validator - + Set an optional validator for a field in the options Setting a validator enables changes to an options values to be validated for correctness when [`update_options()`](#qiskit.providers.Options.update_options "qiskit.providers.Options.update_options") is called. For example if you have a numeric field like `shots` you can specify a bounds tuple that set an upper and lower bound on the value such as: @@ -100,7 +100,7 @@ python_api_name: qiskit.providers.Options ### update\_options - + Update options with kwargs diff --git a/docs/api/qiskit/dev/qiskit.providers.Provider.mdx b/docs/api/qiskit/dev/qiskit.providers.Provider.mdx index 02196afa4cf..77f1293e95a 100644 --- a/docs/api/qiskit/dev/qiskit.providers.Provider.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.Provider.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.Provider # Provider - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Base common type for all versioned Provider abstract classes. diff --git a/docs/api/qiskit/dev/qiskit.providers.ProviderV1.mdx b/docs/api/qiskit/dev/qiskit.providers.ProviderV1.mdx index ef174ccc766..3eb0991539b 100644 --- a/docs/api/qiskit/dev/qiskit.providers.ProviderV1.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.ProviderV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.ProviderV1 # ProviderV1 - + Bases: [`Provider`](qiskit.providers.Provider "qiskit.providers.provider.Provider"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Base class for a Backend Provider. @@ -23,7 +23,7 @@ python_api_name: qiskit.providers.ProviderV1 ### backends - + Return a list of backends matching the specified filtering. **Parameters** @@ -44,7 +44,7 @@ python_api_name: qiskit.providers.ProviderV1 ### get\_backend - + Return a single backend matching the specified filtering. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.providers.QubitProperties.mdx b/docs/api/qiskit/dev/qiskit.providers.QubitProperties.mdx index 1f1aaa616e4..4092fe4c02f 100644 --- a/docs/api/qiskit/dev/qiskit.providers.QubitProperties.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.QubitProperties.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.QubitProperties # QubitProperties - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A representation of the properties of a qubit on a backend. diff --git a/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicProvider.mdx b/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicProvider.mdx index 280a50d201a..cd30368f678 100644 --- a/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicProvider.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicProvider.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProvider # BasicProvider - + Bases: [`ProviderV1`](qiskit.providers.ProviderV1 "qiskit.providers.provider.ProviderV1") Provider for test simulators. @@ -23,7 +23,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProvider ### backends - + Return a list of backends matching the specified filtering. **Parameters** @@ -44,7 +44,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProvider ### get\_backend - + Return a single backend matching the specified filtering. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicProviderError.mdx b/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicProviderError.mdx index 9e79c56abd9..d1a15fd1ecf 100644 --- a/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicProviderError.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicProviderError.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderError # qiskit.providers.basic\_provider.BasicProviderError - + Base class for errors raised by the Basic Provider. Set the error message. diff --git a/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicProviderJob.mdx b/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicProviderJob.mdx index 95317455f5d..f161c0a7a4d 100644 --- a/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicProviderJob.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicProviderJob.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob # BasicProviderJob - + Bases: [`JobV1`](qiskit.providers.JobV1 "qiskit.providers.job.JobV1") BasicProviderJob class. @@ -31,19 +31,19 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob ### backend - + Return the instance of the backend used for this job. ### cancel - + Attempt to cancel the job. ### cancelled - + Return whether the job has been cancelled. **Return type** @@ -53,7 +53,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob ### done - + Return whether the job has successfully run. **Return type** @@ -63,7 +63,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob ### in\_final\_state - + Return whether the job is in a final job state such as `DONE` or `ERROR`. **Return type** @@ -73,7 +73,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob ### job\_id - + Return a unique id identifying the job. **Return type** @@ -83,7 +83,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob ### result - + Get job result . **Returns** @@ -97,7 +97,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob ### running - + Return whether the job is actively running. **Return type** @@ -107,7 +107,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob ### status - + Gets the status of the job by querying the Python’s future **Returns** @@ -121,7 +121,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob ### submit - + Submit the job to the backend for execution. **Raises** @@ -131,7 +131,7 @@ python_api_name: qiskit.providers.basic_provider.BasicProviderJob ### wait\_for\_final\_state - + Poll the job status until it progresses to a final state such as `DONE` or `ERROR`. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicSimulator.mdx b/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicSimulator.mdx index 471a878fea2..86c9f647744 100644 --- a/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicSimulator.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.basic_provider.BasicSimulator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator # BasicSimulator - + Bases: [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.backend.BackendV2") Python implementation of a basic (non-efficient) quantum simulator. @@ -175,7 +175,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -195,7 +195,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### configuration - + Return the simulator backend configuration. **Returns** @@ -209,7 +209,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -235,7 +235,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -255,7 +255,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -275,7 +275,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### qubit\_properties - + 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. @@ -299,7 +299,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### run - + Run on the backend. **Parameters** @@ -327,14 +327,14 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ```python backend_options = { - "initial_statevector": np.array([1, 0, 0, 1j]) / np.sqrt(2), + "initial_statevector": np.array([1, 0, 0, 1j]) / math.sqrt(2), } ``` ### run\_experiment - + Run an experiment (circuit) and return a single experiment result. **Parameters** @@ -372,7 +372,7 @@ python_api_name: qiskit.providers.basic_provider.BasicSimulator ### set\_options - + 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. diff --git a/docs/api/qiskit/dev/qiskit.providers.convert_to_target.mdx b/docs/api/qiskit/dev/qiskit.providers.convert_to_target.mdx index b0ad803bf26..71eaaa3c310 100644 --- a/docs/api/qiskit/dev/qiskit.providers.convert_to_target.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.convert_to_target.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.providers.convert_to_target # qiskit.providers.convert\_to\_target - + Decode transpiler target from backend data set. This function generates `` Target` `` instance from intermediate legacy objects such as [`BackendProperties`](qiskit.providers.models.BackendProperties "qiskit.providers.models.BackendProperties") and [`PulseDefaults`](qiskit.providers.models.PulseDefaults "qiskit.providers.models.PulseDefaults"). These objects are usually components of the legacy [`BackendV1`](qiskit.providers.BackendV1 "qiskit.providers.BackendV1") model. diff --git a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake127QPulseV1.mdx b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake127QPulseV1.mdx index 0f062a89a73..468bafb4682 100644 --- a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake127QPulseV1.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake127QPulseV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.fake_provider.Fake127QPulseV1 # Fake127QPulseV1 - + Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") A fake **pulse** backend with the following characteristics: @@ -68,7 +68,7 @@ python_api_name: qiskit.providers.fake_provider.Fake127QPulseV1 ### configuration - + Return the backend configuration. **Returns** @@ -82,13 +82,13 @@ python_api_name: qiskit.providers.fake_provider.Fake127QPulseV1 ### defaults - + Returns a snapshot of device defaults ### name - + Return the backend name. **Returns** @@ -102,13 +102,13 @@ python_api_name: qiskit.providers.fake_provider.Fake127QPulseV1 ### properties - + Returns a snapshot of device properties ### provider - + Return the backend Provider. **Returns** @@ -122,13 +122,13 @@ python_api_name: qiskit.providers.fake_provider.Fake127QPulseV1 ### run - + Main job in simulator ### set\_options - + 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. @@ -144,7 +144,7 @@ python_api_name: qiskit.providers.fake_provider.Fake127QPulseV1 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake1Q.mdx b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake1Q.mdx index a73e1695342..23e41c47a29 100644 --- a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake1Q.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake1Q.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.fake_provider.Fake1Q # Fake1Q - + Bases: [`FakeBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeBackend "qiskit.providers.fake_provider.fake_backend.FakeBackend") A fake 1Q backend. @@ -33,7 +33,7 @@ python_api_name: qiskit.providers.fake_provider.Fake1Q ### configuration - + Return the backend configuration. **Returns** @@ -47,7 +47,7 @@ python_api_name: qiskit.providers.fake_provider.Fake1Q ### name - + Return the backend name. **Returns** @@ -61,13 +61,13 @@ python_api_name: qiskit.providers.fake_provider.Fake1Q ### properties - + Return backend properties ### provider - + Return the backend Provider. **Returns** @@ -81,13 +81,13 @@ python_api_name: qiskit.providers.fake_provider.Fake1Q ### run - + Main job in simulator ### set\_options - + 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. @@ -103,7 +103,7 @@ python_api_name: qiskit.providers.fake_provider.Fake1Q ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake20QV1.mdx b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake20QV1.mdx index 645e3a09e5b..48b2e05c1d2 100644 --- a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake20QV1.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake20QV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.fake_provider.Fake20QV1 # Fake20QV1 - + Bases: [`FakeQasmBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeQasmBackend "qiskit.providers.fake_provider.fake_qasm_backend.FakeQasmBackend") A fake backend with the following characteristics: @@ -70,7 +70,7 @@ python_api_name: qiskit.providers.fake_provider.Fake20QV1 ### configuration - + Return the backend configuration. **Returns** @@ -84,7 +84,7 @@ python_api_name: qiskit.providers.fake_provider.Fake20QV1 ### name - + Return the backend name. **Returns** @@ -98,13 +98,13 @@ python_api_name: qiskit.providers.fake_provider.Fake20QV1 ### properties - + Returns a snapshot of device properties ### provider - + Return the backend Provider. **Returns** @@ -118,13 +118,13 @@ python_api_name: qiskit.providers.fake_provider.Fake20QV1 ### run - + Main job in simulator ### set\_options - + 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. @@ -140,7 +140,7 @@ python_api_name: qiskit.providers.fake_provider.Fake20QV1 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake27QPulseV1.mdx b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake27QPulseV1.mdx index a057390c1de..98dcb673c5c 100644 --- a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake27QPulseV1.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake27QPulseV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.fake_provider.Fake27QPulseV1 # Fake27QPulseV1 - + Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") A fake **pulse** backend with the following characteristics: @@ -80,7 +80,7 @@ python_api_name: qiskit.providers.fake_provider.Fake27QPulseV1 ### configuration - + Return the backend configuration. **Returns** @@ -94,13 +94,13 @@ python_api_name: qiskit.providers.fake_provider.Fake27QPulseV1 ### defaults - + Returns a snapshot of device defaults ### name - + Return the backend name. **Returns** @@ -114,13 +114,13 @@ python_api_name: qiskit.providers.fake_provider.Fake27QPulseV1 ### properties - + Returns a snapshot of device properties ### provider - + Return the backend Provider. **Returns** @@ -134,13 +134,13 @@ python_api_name: qiskit.providers.fake_provider.Fake27QPulseV1 ### run - + Main job in simulator ### set\_options - + 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. @@ -156,7 +156,7 @@ python_api_name: qiskit.providers.fake_provider.Fake27QPulseV1 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake5QV1.mdx b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake5QV1.mdx index ce833c9c330..128888d3726 100644 --- a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake5QV1.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake5QV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.fake_provider.Fake5QV1 # Fake5QV1 - + Bases: [`FakeQasmBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeQasmBackend "qiskit.providers.fake_provider.fake_qasm_backend.FakeQasmBackend") A fake backend with the following characteristics: @@ -68,7 +68,7 @@ python_api_name: qiskit.providers.fake_provider.Fake5QV1 ### configuration - + Return the backend configuration. **Returns** @@ -82,7 +82,7 @@ python_api_name: qiskit.providers.fake_provider.Fake5QV1 ### name - + Return the backend name. **Returns** @@ -96,13 +96,13 @@ python_api_name: qiskit.providers.fake_provider.Fake5QV1 ### properties - + Returns a snapshot of device properties ### provider - + Return the backend Provider. **Returns** @@ -116,13 +116,13 @@ python_api_name: qiskit.providers.fake_provider.Fake5QV1 ### run - + Main job in simulator ### set\_options - + 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. @@ -138,7 +138,7 @@ python_api_name: qiskit.providers.fake_provider.Fake5QV1 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake7QPulseV1.mdx b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake7QPulseV1.mdx index adfa6049838..22cb46c2f7d 100644 --- a/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake7QPulseV1.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.fake_provider.Fake7QPulseV1.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.fake_provider.Fake7QPulseV1 # Fake7QPulseV1 - + Bases: [`FakePulseBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakePulseBackend "qiskit.providers.fake_provider.fake_pulse_backend.FakePulseBackend") A fake **pulse** backend with the following characteristics: @@ -74,7 +74,7 @@ python_api_name: qiskit.providers.fake_provider.Fake7QPulseV1 ### configuration - + Return the backend configuration. **Returns** @@ -88,13 +88,13 @@ python_api_name: qiskit.providers.fake_provider.Fake7QPulseV1 ### defaults - + Returns a snapshot of device defaults ### name - + Return the backend name. **Returns** @@ -108,13 +108,13 @@ python_api_name: qiskit.providers.fake_provider.Fake7QPulseV1 ### properties - + Returns a snapshot of device properties ### provider - + Return the backend Provider. **Returns** @@ -128,13 +128,13 @@ python_api_name: qiskit.providers.fake_provider.Fake7QPulseV1 ### run - + Main job in simulator ### set\_options - + 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. @@ -150,7 +150,7 @@ python_api_name: qiskit.providers.fake_provider.Fake7QPulseV1 ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.fake_provider.FakeOpenPulse2Q.mdx b/docs/api/qiskit/dev/qiskit.providers.fake_provider.FakeOpenPulse2Q.mdx index e8aa4bbbd1a..63abcee692e 100644 --- a/docs/api/qiskit/dev/qiskit.providers.fake_provider.FakeOpenPulse2Q.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.fake_provider.FakeOpenPulse2Q.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse2Q # FakeOpenPulse2Q - + Bases: [`FakeBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeBackend "qiskit.providers.fake_provider.fake_backend.FakeBackend") A fake 2 qubit backend for pulse test. @@ -38,7 +38,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse2Q ### configuration - + Return the backend configuration. **Returns** @@ -52,13 +52,13 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse2Q ### defaults - + Return the default pulse-related settings provided by the backend (such as gate to Schedule mappings). ### name - + Return the backend name. **Returns** @@ -72,13 +72,13 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse2Q ### properties - + Return the measured characteristics of the backend. ### provider - + Return the backend Provider. **Returns** @@ -92,13 +92,13 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse2Q ### run - + Main job in simulator ### set\_options - + 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. @@ -114,7 +114,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse2Q ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.fake_provider.FakeOpenPulse3Q.mdx b/docs/api/qiskit/dev/qiskit.providers.fake_provider.FakeOpenPulse3Q.mdx index e3a98586568..eb114989f6a 100644 --- a/docs/api/qiskit/dev/qiskit.providers.fake_provider.FakeOpenPulse3Q.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.fake_provider.FakeOpenPulse3Q.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse3Q # FakeOpenPulse3Q - + Bases: [`FakeBackend`](providers_fake_provider#qiskit.providers.fake_provider.FakeBackend "qiskit.providers.fake_provider.fake_backend.FakeBackend") Trivial extension of the FakeOpenPulse2Q. @@ -38,7 +38,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse3Q ### configuration - + Return the backend configuration. **Returns** @@ -52,11 +52,11 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse3Q ### defaults - + ### name - + Return the backend name. **Returns** @@ -70,13 +70,13 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse3Q ### properties - + Return backend properties ### provider - + Return the backend Provider. **Returns** @@ -90,13 +90,13 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse3Q ### run - + Main job in simulator ### set\_options - + 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. @@ -112,7 +112,7 @@ python_api_name: qiskit.providers.fake_provider.FakeOpenPulse3Q ### status - + Return the backend status. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.fake_provider.GenericBackendV2.mdx b/docs/api/qiskit/dev/qiskit.providers.fake_provider.GenericBackendV2.mdx index eacb55952fb..c0a237f5a29 100644 --- a/docs/api/qiskit/dev/qiskit.providers.fake_provider.GenericBackendV2.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.fake_provider.GenericBackendV2.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 # GenericBackendV2 - + Bases: [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.backend.BackendV2") Generic [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") implementation with a configurable constructor. This class will return a [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") instance that runs on a local simulator (in the spirit of fake backends) and contains all the necessary information to test backend-interfacing components, such as the transpiler. A [`GenericBackendV2`](#qiskit.providers.fake_provider.GenericBackendV2 "qiskit.providers.fake_provider.GenericBackendV2") instance can be constructed from as little as a specified `num_qubits`, but users can additionally configure the basis gates, coupling map, ability to run dynamic circuits (control flow instructions), instruction calibrations and dtm. The remainder of the backend properties are generated by randomly sampling from default ranges extracted from historical IBM backend data. The seed for this random generation can be fixed to ensure the reproducibility of the backend output. This backend only supports gates in the standard library, if you need a more flexible backend, there is always the option to directly instantiate a [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") object to use for transpilation. @@ -180,7 +180,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 ### acquire\_channel - + Return the acquisition channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -200,7 +200,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 ### control\_channel - + Return the secondary drive channel for the given qubit This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. @@ -226,7 +226,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 ### drive\_channel - + Return the drive channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -246,7 +246,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 ### measure\_channel - + Return the measure stimulus channel for the given qubit. This is required to be implemented if the backend supports Pulse scheduling. @@ -266,7 +266,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 ### qubit\_properties - + 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. @@ -290,7 +290,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 ### run - + Run on the backend using a simulator. This method runs circuit jobs (an individual or a list of [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") ) and pulse jobs (an individual or a list of [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") or [`ScheduleBlock`](qiskit.pulse.ScheduleBlock "qiskit.pulse.ScheduleBlock")) using [`BasicSimulator`](qiskit.providers.basic_provider.BasicSimulator "qiskit.providers.basic_provider.BasicSimulator") or Aer simulator and returns a [`Job`](qiskit.providers.Job "qiskit.providers.Job") object. @@ -319,7 +319,7 @@ python_api_name: qiskit.providers.fake_provider.GenericBackendV2 ### set\_options - + 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. diff --git a/docs/api/qiskit/dev/qiskit.providers.models.BackendConfiguration.mdx b/docs/api/qiskit/dev/qiskit.providers.models.BackendConfiguration.mdx index 2b28b08a6dc..8b125357b68 100644 --- a/docs/api/qiskit/dev/qiskit.providers.models.BackendConfiguration.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.models.BackendConfiguration.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.BackendConfiguration # BackendConfiguration - + Bases: [`QasmBackendConfiguration`](qiskit.providers.models.QasmBackendConfiguration "qiskit.providers.models.backendconfiguration.QasmBackendConfiguration") Backwards compat shim representing an abstract backend configuration. @@ -99,7 +99,7 @@ python_api_name: qiskit.providers.models.BackendConfiguration ### from\_dict - + Create a new GateConfig object from a dictionary. **Parameters** @@ -117,7 +117,7 @@ python_api_name: qiskit.providers.models.BackendConfiguration ### to\_dict - + Return a dictionary format representation of the GateConfig. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.models.BackendProperties.mdx b/docs/api/qiskit/dev/qiskit.providers.models.BackendProperties.mdx index 011240d5bd5..9fbe3b6220f 100644 --- a/docs/api/qiskit/dev/qiskit.providers.models.BackendProperties.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.models.BackendProperties.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.BackendProperties # BackendProperties - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class representing backend properties @@ -31,19 +31,19 @@ python_api_name: qiskit.providers.models.BackendProperties ### faulty\_gates - + Return a list of faulty gates. ### faulty\_qubits - + Return a list of faulty qubits. ### frequency - + Return the frequency of the given qubit. **Parameters** @@ -61,7 +61,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### from\_dict - + Create a new BackendProperties object from a dictionary. **Parameters** @@ -79,7 +79,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### gate\_error - + Return gate error estimates from backend properties. **Parameters** @@ -98,7 +98,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### gate\_length - + Return the duration of the gate in units of seconds. **Parameters** @@ -117,7 +117,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### gate\_property - + Return the property of the given gate. **Parameters** @@ -141,7 +141,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### is\_gate\_operational - + Return the operational status of the given gate. **Parameters** @@ -160,7 +160,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### is\_qubit\_operational - + Return the operational status of the given qubit. **Parameters** @@ -178,7 +178,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### qubit\_property - + Return the property of the given qubit. **Parameters** @@ -201,7 +201,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### readout\_error - + Return the readout error of the given qubit. **Parameters** @@ -219,7 +219,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### readout\_length - + Return the readout length \[sec] of the given qubit. **Parameters** @@ -237,7 +237,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### t1 - + Return the T1 time of the given qubit. **Parameters** @@ -255,7 +255,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### t2 - + Return the T2 time of the given qubit. **Parameters** @@ -273,7 +273,7 @@ python_api_name: qiskit.providers.models.BackendProperties ### to\_dict - + Return a dictionary format representation of the BackendProperties. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.models.BackendStatus.mdx b/docs/api/qiskit/dev/qiskit.providers.models.BackendStatus.mdx index 9ab339ca45d..a638839eba7 100644 --- a/docs/api/qiskit/dev/qiskit.providers.models.BackendStatus.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.models.BackendStatus.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.BackendStatus # BackendStatus - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class representing Backend Status. @@ -31,7 +31,7 @@ python_api_name: qiskit.providers.models.BackendStatus ### from\_dict - + Create a new BackendStatus object from a dictionary. **Parameters** @@ -49,7 +49,7 @@ python_api_name: qiskit.providers.models.BackendStatus ### to\_dict - + Return a dictionary format representation of the BackendStatus. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.models.Command.mdx b/docs/api/qiskit/dev/qiskit.providers.models.Command.mdx index 3546db0a17c..dcd980d4b16 100644 --- a/docs/api/qiskit/dev/qiskit.providers.models.Command.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.models.Command.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.Command # Command - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class representing a Command. @@ -32,7 +32,7 @@ python_api_name: qiskit.providers.models.Command ### from\_dict - + Create a new Command object from a dictionary. **Parameters** @@ -50,7 +50,7 @@ python_api_name: qiskit.providers.models.Command ### to\_dict - + Return a dictionary format representation of the Command. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.models.GateConfig.mdx b/docs/api/qiskit/dev/qiskit.providers.models.GateConfig.mdx index 9658594e7a4..3a821d33259 100644 --- a/docs/api/qiskit/dev/qiskit.providers.models.GateConfig.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.models.GateConfig.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.GateConfig # GateConfig - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class representing a Gate Configuration @@ -47,7 +47,7 @@ python_api_name: qiskit.providers.models.GateConfig ### from\_dict - + Create a new GateConfig object from a dictionary. **Parameters** @@ -65,7 +65,7 @@ python_api_name: qiskit.providers.models.GateConfig ### to\_dict - + Return a dictionary format representation of the GateConfig. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.models.GateProperties.mdx b/docs/api/qiskit/dev/qiskit.providers.models.GateProperties.mdx index 5db2c356508..15539f94b3f 100644 --- a/docs/api/qiskit/dev/qiskit.providers.models.GateProperties.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.models.GateProperties.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.GateProperties # GateProperties - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class representing a gate’s properties @@ -44,7 +44,7 @@ python_api_name: qiskit.providers.models.GateProperties ### from\_dict - + Create a new Gate object from a dictionary. **Parameters** @@ -62,7 +62,7 @@ python_api_name: qiskit.providers.models.GateProperties ### to\_dict - + Return a dictionary format representation of the BackendStatus. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.models.JobStatus.mdx b/docs/api/qiskit/dev/qiskit.providers.models.JobStatus.mdx index 2280c366df1..813539dd9ab 100644 --- a/docs/api/qiskit/dev/qiskit.providers.models.JobStatus.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.models.JobStatus.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.JobStatus # JobStatus - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Model for JobStatus. @@ -47,7 +47,7 @@ python_api_name: qiskit.providers.models.JobStatus ### from\_dict - + Create a new JobStatus object from a dictionary. **Parameters** @@ -65,7 +65,7 @@ python_api_name: qiskit.providers.models.JobStatus ### to\_dict - + Return a dictionary format representation of the JobStatus. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.models.Nduv.mdx b/docs/api/qiskit/dev/qiskit.providers.models.Nduv.mdx index efb427ed9a7..cbea907df1b 100644 --- a/docs/api/qiskit/dev/qiskit.providers.models.Nduv.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.models.Nduv.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.Nduv # Nduv - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class representing name-date-unit-value @@ -50,7 +50,7 @@ python_api_name: qiskit.providers.models.Nduv ### from\_dict - + Create a new Nduv object from a dictionary. **Parameters** @@ -68,7 +68,7 @@ python_api_name: qiskit.providers.models.Nduv ### to\_dict - + Return a dictionary format representation of the object. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.models.PulseBackendConfiguration.mdx b/docs/api/qiskit/dev/qiskit.providers.models.PulseBackendConfiguration.mdx index 355537dde72..4b5312b71db 100644 --- a/docs/api/qiskit/dev/qiskit.providers.models.PulseBackendConfiguration.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.models.PulseBackendConfiguration.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration # PulseBackendConfiguration - + Bases: [`QasmBackendConfiguration`](qiskit.providers.models.QasmBackendConfiguration "qiskit.providers.models.backendconfiguration.QasmBackendConfiguration") Static configuration state for an OpenPulse enabled backend. This contains information about the set up of the device which can be useful for building Pulse programs. @@ -83,7 +83,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration ### acquire - + Return the acquisition channel for the given qubit. **Raises** @@ -101,7 +101,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration ### control - + Return the secondary drive channel for the given qubit – typically utilized for controlling multiqubit interactions. This channel is derived from other channels. **Parameters** @@ -123,7 +123,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration ### describe - + Return a basic description of the channel dependency. Derived channels are given weights which describe how their frames are linked to other frames. For instance, the backend could be configured with this setting: ```python @@ -159,7 +159,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration ### drive - + Return the drive channel for the given qubit. **Raises** @@ -177,7 +177,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration ### from\_dict - + Create a new GateConfig object from a dictionary. **Parameters** @@ -195,7 +195,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration ### get\_channel\_qubits - + Return a list of indices for qubits which are operated on directly by the given `channel`. **Raises** @@ -213,7 +213,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration ### get\_qubit\_channels - + Return a list of channels which operate on the given `qubit`. **Raises** @@ -231,7 +231,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration ### measure - + Return the measure stimulus channel for the given qubit. **Raises** @@ -249,7 +249,7 @@ python_api_name: qiskit.providers.models.PulseBackendConfiguration ### to\_dict - + Return a dictionary format representation of the GateConfig. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.models.PulseDefaults.mdx b/docs/api/qiskit/dev/qiskit.providers.models.PulseDefaults.mdx index 06fb87d348b..7348ee1c7ca 100644 --- a/docs/api/qiskit/dev/qiskit.providers.models.PulseDefaults.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.models.PulseDefaults.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.PulseDefaults # PulseDefaults - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Description of default settings for Pulse systems. These are instructions or settings that may be good starting points for the Pulse user. The user may modify these defaults for custom scheduling. @@ -33,7 +33,7 @@ python_api_name: qiskit.providers.models.PulseDefaults ### from\_dict - + Create a new PulseDefaults object from a dictionary. **Parameters** @@ -51,7 +51,7 @@ python_api_name: qiskit.providers.models.PulseDefaults ### to\_dict - + Return a dictionary format representation of the PulseDefaults. :returns: The dictionary form of the PulseDefaults. :rtype: dict diff --git a/docs/api/qiskit/dev/qiskit.providers.models.QasmBackendConfiguration.mdx b/docs/api/qiskit/dev/qiskit.providers.models.QasmBackendConfiguration.mdx index b02f5949f6b..d45120d9589 100644 --- a/docs/api/qiskit/dev/qiskit.providers.models.QasmBackendConfiguration.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.models.QasmBackendConfiguration.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.QasmBackendConfiguration # QasmBackendConfiguration - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class representing an OpenQASM 2.0 Backend Configuration. @@ -165,7 +165,7 @@ python_api_name: qiskit.providers.models.QasmBackendConfiguration ### from\_dict - + Create a new GateConfig object from a dictionary. **Parameters** @@ -183,7 +183,7 @@ python_api_name: qiskit.providers.models.QasmBackendConfiguration ### to\_dict - + Return a dictionary format representation of the GateConfig. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.providers.models.UchannelLO.mdx b/docs/api/qiskit/dev/qiskit.providers.models.UchannelLO.mdx index a2fb30f453e..87125b6ef6c 100644 --- a/docs/api/qiskit/dev/qiskit.providers.models.UchannelLO.mdx +++ b/docs/api/qiskit/dev/qiskit.providers.models.UchannelLO.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.providers.models.UchannelLO # UchannelLO - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class representing a U Channel LO @@ -40,7 +40,7 @@ python_api_name: qiskit.providers.models.UchannelLO ### from\_dict - + Create a new UchannelLO object from a dictionary. **Parameters** @@ -58,7 +58,7 @@ python_api_name: qiskit.providers.models.UchannelLO ### to\_dict - + Return a dictionary format representation of the UChannelLO. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.pulse.InstructionScheduleMap.mdx b/docs/api/qiskit/dev/qiskit.pulse.InstructionScheduleMap.mdx index a8315ecbaa3..e4fed61027b 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.InstructionScheduleMap.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.InstructionScheduleMap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap # InstructionScheduleMap - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Mapping from [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") [`qiskit.circuit.Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") names and qubits to [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") s. In particular, the mapping is formatted as type: @@ -41,7 +41,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### add - + Add a new known instruction for the given qubits and its mapping to a pulse schedule. **Parameters** @@ -58,7 +58,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### assert\_has - + Error if the given instruction is not defined. **Parameters** @@ -73,7 +73,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### get - + Return the defined [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") or [`ScheduleBlock`](qiskit.pulse.ScheduleBlock "qiskit.pulse.ScheduleBlock") for the given instruction on the given qubits. If all keys are not specified this method returns schedule with unbound parameters. @@ -96,7 +96,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### get\_parameters - + Return the list of parameters taken by the given instruction on the given qubits. **Parameters** @@ -115,7 +115,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### has - + Is the instruction defined for the given qubits? **Parameters** @@ -134,7 +134,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### has\_custom\_gate - + Return `True` if the map has user provided instruction. **Return type** @@ -144,7 +144,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### pop - + Remove and return the defined schedule for the given instruction on the given qubits. **Parameters** @@ -165,7 +165,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### qubit\_instructions - + Return a list of the instruction names that are defined by the backend for the given qubit or qubits. **Parameters** @@ -185,7 +185,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### qubits\_with\_instruction - + Return a list of the qubits for which the given instruction is defined. Single qubit instructions return a flat list, and multiqubit instructions return a list of ordered tuples. **Parameters** @@ -207,7 +207,7 @@ python_api_name: qiskit.pulse.InstructionScheduleMap ### remove - + Remove the given instruction from the listing of instructions defined in self. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.Schedule.mdx b/docs/api/qiskit/dev/qiskit.pulse.Schedule.mdx index 3da9c294c8b..b69821f16e0 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.Schedule.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.Schedule.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.Schedule # Schedule - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A quantum program *schedule* with exact time constraints for its instructions, operating over all input signal *channels* and supporting special syntaxes for building. @@ -148,7 +148,7 @@ python_api_name: qiskit.pulse.Schedule ### append - + Return a new schedule with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. $$ @@ -169,12 +169,14 @@ $$ ### assign\_parameters - + Assign the parameters in this schedule according to the input. **Parameters** - * **value\_dict** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)")*\[*[*qiskit.circuit.parameterexpression.ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression")*,* [*Union*](https://docs.python.org/3/library/typing.html#typing.Union "(in Python v3.12)")*\[*[*qiskit.circuit.parameterexpression.ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression")*,* [*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")*]]*) – A mapping from Parameters to either numeric values or another Parameter expression. + * **value\_dict** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)")*\[*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression") *|*[*ParameterVector*](qiskit.circuit.ParameterVector "qiskit.circuit.ParameterVector")*, ParameterValueType | Sequence\[ParameterValueType]]*) – A mapping from parameters (parameter vectors) to either + * **values** (*numeric*) – + * **expression** (*or another Parameter*) – * **inplace** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Set `True` to override this instance with new parameter. **Returns** @@ -183,12 +185,12 @@ $$ **Return type** - [*Schedule*](#qiskit.pulse.Schedule "qiskit.pulse.schedule.Schedule") + [Schedule](#qiskit.pulse.Schedule "qiskit.pulse.Schedule") ### ch\_duration - + Return the time of the end of the last instruction over the supplied channels. **Parameters** @@ -202,7 +204,7 @@ $$ ### ch\_start\_time - + Return the time of the start of the first instruction over the supplied channels. **Parameters** @@ -216,7 +218,7 @@ $$ ### ch\_stop\_time - + Return maximum start time over supplied channels. **Parameters** @@ -230,7 +232,7 @@ $$ ### draw - + Plot the schedule. **Parameters** @@ -274,7 +276,7 @@ $$ ### exclude - + Return a `Schedule` with only the instructions from this Schedule *failing* at least one of the provided filters. This method is the complement of py:meth:\~self.filter, so that: ```python @@ -297,7 +299,7 @@ $$ ### filter - + Return a new `Schedule` with only the instructions from this `Schedule` which pass though the provided filters; i.e. an instruction will be retained iff every function in `filter_funcs` returns `True`, the instruction occurs on a channel type contained in `channels`, the instruction type is contained in `instruction_types`, and the period over which the instruction operates is *fully* contained in one specified in `time_ranges` or `intervals`. If no arguments are provided, `self` is returned. @@ -318,7 +320,7 @@ $$ ### get\_parameters - + Get parameter object bound to this schedule by string name. Because different `Parameter` objects can have the same name, this method returns a list of `Parameter` s for the provided name. @@ -338,7 +340,7 @@ $$ ### initialize\_from - + Create new schedule object with metadata of another schedule object. **Parameters** @@ -361,7 +363,7 @@ $$ ### insert - + Return a new schedule with `schedule` inserted into `self` at `start_time`. **Parameters** @@ -378,7 +380,7 @@ $$ ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -388,7 +390,7 @@ $$ ### replace - + Return a `Schedule` with the `old` instruction replaced with a `new` instruction. The replacement matching is based on an instruction equality check. @@ -447,7 +449,7 @@ $$ ### shift - + Return a schedule shifted forward by `time`. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.ScheduleBlock.mdx b/docs/api/qiskit/dev/qiskit.pulse.ScheduleBlock.mdx index c50aa36cfd0..c0f24f2a32b 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.ScheduleBlock.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.ScheduleBlock.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.ScheduleBlock # ScheduleBlock - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Time-ordered sequence of instructions with alignment context. @@ -200,7 +200,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### append - + Return a new schedule block with `block` appended to the context block. The execution time is automatically assigned when the block is converted into schedule. **Parameters** @@ -224,12 +224,14 @@ python_api_name: qiskit.pulse.ScheduleBlock ### assign\_parameters - + Assign the parameters in this schedule according to the input. **Parameters** - * **value\_dict** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)")*\[*[*qiskit.circuit.parameterexpression.ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression")*,* [*Union*](https://docs.python.org/3/library/typing.html#typing.Union "(in Python v3.12)")*\[*[*qiskit.circuit.parameterexpression.ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression")*,* [*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")*]]*) – A mapping from Parameters to either numeric values or another Parameter expression. + * **value\_dict** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)")*\[*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression") *|*[*ParameterVector*](qiskit.circuit.ParameterVector "qiskit.circuit.ParameterVector")*, ParameterValueType | Sequence\[ParameterValueType]]*) – A mapping from parameters (parameter vectors) to either numeric values + * **values**\*\*)\*\* (*(*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)") *of numeric*) – + * **expression** (*or another parameter*) – * **inplace** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Set `True` to override this instance with new parameter. **Returns** @@ -242,12 +244,12 @@ python_api_name: qiskit.pulse.ScheduleBlock **Return type** - [*ScheduleBlock*](#qiskit.pulse.ScheduleBlock "qiskit.pulse.schedule.ScheduleBlock") + [ScheduleBlock](#qiskit.pulse.ScheduleBlock "qiskit.pulse.ScheduleBlock") ### assign\_references - + Assign schedules to references. It is only capable of assigning a schedule block to immediate references which are directly referred within the current scope. Let’s see following example: @@ -305,7 +307,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### ch\_duration - + Return the time of the end of the last instruction over the supplied channels. **Parameters** @@ -319,7 +321,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### draw - + Plot the schedule. **Parameters** @@ -363,7 +365,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### exclude - + Return a new `ScheduleBlock` with only the instructions from this `ScheduleBlock` *failing* at least one of the provided filters. This method is the complement of py:meth:\~self.filter, so that: ```python @@ -388,7 +390,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### filter - + Return a new `ScheduleBlock` with only the instructions from this `ScheduleBlock` which pass though the provided filters; i.e. an instruction will be retained if every function in `filter_funcs` returns `True`, the instruction occurs on a channel type contained in `channels`, and the instruction type is contained in `instruction_types`. @@ -411,7 +413,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### get\_parameters - + Get parameter object bound to this schedule by string name. Note that we can define different parameter objects with the same name, because these different objects are identified by their unique uuid. For example, @@ -449,7 +451,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### initialize\_from - + Create new schedule object with metadata of another schedule object. **Parameters** @@ -472,7 +474,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -482,7 +484,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### is\_referenced - + Return True iff the current schedule block contains reference to subroutine. **Return type** @@ -492,7 +494,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### is\_schedulable - + Return `True` if all durations are assigned. **Return type** @@ -502,7 +504,7 @@ python_api_name: qiskit.pulse.ScheduleBlock ### replace - + Return a `ScheduleBlock` with the `old` component replaced with a `new` component. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.channels.AcquireChannel.mdx b/docs/api/qiskit/dev/qiskit.pulse.channels.AcquireChannel.mdx index 59eea695561..6fd4d75226a 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.channels.AcquireChannel.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.channels.AcquireChannel.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.channels.AcquireChannel # AcquireChannel - + Bases: [`Channel`](pulse#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel") Acquire channels are used to collect data. @@ -49,7 +49,7 @@ python_api_name: qiskit.pulse.channels.AcquireChannel ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.pulse.channels.ControlChannel.mdx b/docs/api/qiskit/dev/qiskit.pulse.channels.ControlChannel.mdx index be218b0ed40..5e8c4e1371b 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.channels.ControlChannel.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.channels.ControlChannel.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.channels.ControlChannel # ControlChannel - + Bases: `PulseChannel` Control channels provide supplementary control over the qubit to the drive channel. These are often associated with multi-qubit gate operations. They may not map trivially to a particular qubit index. @@ -49,7 +49,7 @@ python_api_name: qiskit.pulse.channels.ControlChannel ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.pulse.channels.DriveChannel.mdx b/docs/api/qiskit/dev/qiskit.pulse.channels.DriveChannel.mdx index daf5e47a86d..97645c52286 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.channels.DriveChannel.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.channels.DriveChannel.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.channels.DriveChannel # DriveChannel - + Bases: `PulseChannel` Drive channels transmit signals to qubits which enact gate operations. @@ -49,7 +49,7 @@ python_api_name: qiskit.pulse.channels.DriveChannel ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.pulse.channels.MeasureChannel.mdx b/docs/api/qiskit/dev/qiskit.pulse.channels.MeasureChannel.mdx index 9478f4e675c..50283490259 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.channels.MeasureChannel.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.channels.MeasureChannel.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.channels.MeasureChannel # MeasureChannel - + Bases: `PulseChannel` Measure channels transmit measurement stimulus pulses for readout. @@ -49,7 +49,7 @@ python_api_name: qiskit.pulse.channels.MeasureChannel ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.pulse.channels.MemorySlot.mdx b/docs/api/qiskit/dev/qiskit.pulse.channels.MemorySlot.mdx index b32fce3b2ca..103c9b543f7 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.channels.MemorySlot.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.channels.MemorySlot.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.channels.MemorySlot # MemorySlot - + Bases: `ClassicalIOChannel` Memory slot channels represent classical memory storage. @@ -49,7 +49,7 @@ python_api_name: qiskit.pulse.channels.MemorySlot ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.pulse.channels.RegisterSlot.mdx b/docs/api/qiskit/dev/qiskit.pulse.channels.RegisterSlot.mdx index 4745c5eb402..d1988eaaed2 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.channels.RegisterSlot.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.channels.RegisterSlot.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.channels.RegisterSlot # RegisterSlot - + Bases: `ClassicalIOChannel` Classical resister slot channels represent classical registers (low-latency classical memory). @@ -49,7 +49,7 @@ python_api_name: qiskit.pulse.channels.RegisterSlot ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.pulse.channels.SnapshotChannel.mdx b/docs/api/qiskit/dev/qiskit.pulse.channels.SnapshotChannel.mdx index 77aacde96e8..7af9657159c 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.channels.SnapshotChannel.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.channels.SnapshotChannel.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.channels.SnapshotChannel # SnapshotChannel - + Bases: `ClassicalIOChannel` Snapshot channels are used to specify instructions for simulators. @@ -45,7 +45,7 @@ python_api_name: qiskit.pulse.channels.SnapshotChannel ### is\_parameterized - + Return True iff the channel is parameterized. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.Acquire.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.Acquire.mdx index 937eef16c81..40152efb3cd 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.Acquire.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.Acquire.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.Acquire # Acquire - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") The Acquire instruction is used to trigger the ADC associated with a particular qubit; e.g. instantiated with AcquireChannel(0), the Acquire command will trigger data collection for the channel associated with qubit 0 readout. This instruction also provides acquisition metadata: @@ -127,7 +127,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -146,7 +146,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -160,7 +160,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -174,7 +174,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -188,7 +188,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -208,7 +208,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -218,7 +218,7 @@ python_api_name: qiskit.pulse.instructions.Acquire ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.Delay.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.Delay.mdx index 9c8bbcf8cd4..87006b5eed6 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.Delay.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.Delay.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.Delay # Delay - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") A blocking instruction with no other effect. The delay is used for aligning and scheduling other instructions. @@ -101,7 +101,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -120,7 +120,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -134,7 +134,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -148,7 +148,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -162,7 +162,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -182,7 +182,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -192,7 +192,7 @@ python_api_name: qiskit.pulse.instructions.Delay ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.Play.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.Play.mdx index a86a9e211a8..97589599589 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.Play.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.Play.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.Play # Play - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") This instruction is responsible for applying a pulse on a channel. @@ -95,7 +95,7 @@ python_api_name: qiskit.pulse.instructions.Play ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -114,7 +114,7 @@ python_api_name: qiskit.pulse.instructions.Play ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -128,7 +128,7 @@ python_api_name: qiskit.pulse.instructions.Play ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -142,7 +142,7 @@ python_api_name: qiskit.pulse.instructions.Play ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -156,7 +156,7 @@ python_api_name: qiskit.pulse.instructions.Play ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -176,7 +176,7 @@ python_api_name: qiskit.pulse.instructions.Play ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -186,7 +186,7 @@ python_api_name: qiskit.pulse.instructions.Play ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.Reference.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.Reference.mdx index 05f08b79a86..742d0f6dc98 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.Reference.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.Reference.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.Reference # Reference - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") Pulse compiler directive that refers to a subroutine. @@ -100,7 +100,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -119,7 +119,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -133,7 +133,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -147,7 +147,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -161,7 +161,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -181,7 +181,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -191,7 +191,7 @@ python_api_name: qiskit.pulse.instructions.Reference ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.RelativeBarrier.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.RelativeBarrier.mdx index 5201930054a..e28738bc151 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.RelativeBarrier.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.RelativeBarrier.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier # RelativeBarrier - + Bases: `Directive` Pulse `RelativeBarrier` directive. @@ -82,7 +82,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -101,7 +101,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -115,7 +115,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -129,7 +129,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -143,7 +143,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -163,7 +163,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -173,7 +173,7 @@ python_api_name: qiskit.pulse.instructions.RelativeBarrier ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.SetFrequency.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.SetFrequency.mdx index 32b215e6ff4..b0e64446c1c 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.SetFrequency.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.SetFrequency.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.SetFrequency # SetFrequency - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") Set the channel frequency. This instruction operates on `PulseChannel` s. A `PulseChannel` creates pulses of the form @@ -103,7 +103,7 @@ $$ ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -122,7 +122,7 @@ $$ ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -136,7 +136,7 @@ $$ ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -150,7 +150,7 @@ $$ ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -164,7 +164,7 @@ $$ ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -184,7 +184,7 @@ $$ ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -194,7 +194,7 @@ $$ ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.SetPhase.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.SetPhase.mdx index 94c07d5dfe8..e853352dcc0 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.SetPhase.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.SetPhase.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.SetPhase # SetPhase - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") The set phase instruction sets the phase of the proceeding pulses on that channel to `phase` radians. @@ -101,7 +101,7 @@ $$ ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -120,7 +120,7 @@ $$ ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -134,7 +134,7 @@ $$ ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -148,7 +148,7 @@ $$ ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -162,7 +162,7 @@ $$ ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -182,7 +182,7 @@ $$ ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -192,7 +192,7 @@ $$ ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.ShiftFrequency.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.ShiftFrequency.mdx index 63dda39e7e1..db694b4a08d 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.ShiftFrequency.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.ShiftFrequency.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency # ShiftFrequency - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") Shift the channel frequency away from the current frequency. @@ -93,7 +93,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -112,7 +112,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -126,7 +126,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -140,7 +140,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -154,7 +154,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -174,7 +174,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -184,7 +184,7 @@ python_api_name: qiskit.pulse.instructions.ShiftFrequency ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.ShiftPhase.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.ShiftPhase.mdx index 6c86ecaaecf..e274c85b446 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.ShiftPhase.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.ShiftPhase.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.ShiftPhase # ShiftPhase - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") The shift phase instruction updates the modulation phase of proceeding pulses played on the same [`Channel`](pulse#qiskit.pulse.channels.Channel "qiskit.pulse.channels.Channel"). It is a relative increase in phase determined by the `phase` operand. @@ -105,7 +105,7 @@ $$ ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -124,7 +124,7 @@ $$ ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -138,7 +138,7 @@ $$ ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -152,7 +152,7 @@ $$ ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -166,7 +166,7 @@ $$ ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -186,7 +186,7 @@ $$ ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -196,7 +196,7 @@ $$ ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.Snapshot.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.Snapshot.mdx index 7ac79aab84d..6c70fcc1f8d 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.Snapshot.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.Snapshot.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot # Snapshot - + Bases: [`Instruction`](pulse#qiskit.pulse.instructions.Instruction "qiskit.pulse.instructions.instruction.Instruction") An instruction targeted for simulators, to capture a moment in the simulation. @@ -99,7 +99,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -118,7 +118,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -132,7 +132,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -146,7 +146,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -160,7 +160,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -180,7 +180,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -190,7 +190,7 @@ python_api_name: qiskit.pulse.instructions.Snapshot ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.instructions.TimeBlockade.mdx b/docs/api/qiskit/dev/qiskit.pulse.instructions.TimeBlockade.mdx index 1229693e6e2..40a124309c7 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.instructions.TimeBlockade.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.instructions.TimeBlockade.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade # TimeBlockade - + Bases: `Directive` Pulse `TimeBlockade` directive. @@ -118,7 +118,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### append - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted at the maximum time over all channels shared between `self` and `schedule`. **Parameters** @@ -137,7 +137,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### ch\_duration - + Return duration of the supplied channels in this Instruction. **Parameters** @@ -151,7 +151,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### ch\_start\_time - + Return minimum start time for supplied channels. **Parameters** @@ -165,7 +165,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### ch\_stop\_time - + Return maximum start time for supplied channels. **Parameters** @@ -179,7 +179,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### insert - + Return a new [`Schedule`](qiskit.pulse.Schedule "qiskit.pulse.Schedule") with `schedule` inserted within `self` at `start_time`. **Parameters** @@ -199,7 +199,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -209,7 +209,7 @@ python_api_name: qiskit.pulse.instructions.TimeBlockade ### shift - + Return a new schedule shifted forward by time. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Constant_class.rst.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Constant_class.rst.mdx index 44cf96b6ba3..24b7151e057 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Constant_class.rst.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Constant_class.rst.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.library.Constant # Constant - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A simple constant pulse, with an amplitude value and a duration: diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Cos_class.rst.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Cos_class.rst.mdx index 4df4802b4f8..9da7aa20fd6 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Cos_class.rst.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Cos_class.rst.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Cos # qiskit.pulse.library.Cos - + A cosine pulse. The envelope of the pulse is given by: diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Drag_class.rst.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Drag_class.rst.mdx index 88bce445bfe..788de57c35b 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Drag_class.rst.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Drag_class.rst.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.library.Drag # Drag - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") The Derivative Removal by Adiabatic Gate (DRAG) pulse is a standard Gaussian pulse with an additional Gaussian derivative component and lifting applied. diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.GaussianDeriv.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.GaussianDeriv.mdx index 8abe122a453..13eefd7be28 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.GaussianDeriv.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.GaussianDeriv.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.GaussianDeriv # qiskit.pulse.library.GaussianDeriv - + An unnormalized Gaussian derivative pulse. The Gaussian function is centered around the halfway point of the pulse, and the envelope of the pulse is given by: diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.GaussianSquare.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.GaussianSquare.mdx index 5430085bc05..0d0038642b5 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.GaussianSquare.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.GaussianSquare.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.library.GaussianSquare # GaussianSquare - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A square pulse with a Gaussian shaped risefall on both sides lifted such that its first sample is zero. diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.GaussianSquareDrag.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.GaussianSquareDrag.mdx index 58c96ed2e20..a931b032f03 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.GaussianSquareDrag.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.GaussianSquareDrag.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.GaussianSquareDrag # qiskit.pulse.library.GaussianSquareDrag - + A square pulse with a Drag shaped rise and fall This pulse shape is similar to [`GaussianSquare`](qiskit.pulse.library.GaussianSquare "qiskit.pulse.library.GaussianSquare") but uses [`Drag`](qiskit.pulse.library.Drag_class.rst#qiskit.pulse.library.Drag "qiskit.pulse.library.Drag") for its rise and fall instead of [`Gaussian`](qiskit.pulse.library.Gaussian_class.rst#qiskit.pulse.library.Gaussian "qiskit.pulse.library.Gaussian"). The addition of the DRAG component of the rise and fall is sometimes helpful in suppressing the spectral content of the pulse at frequencies near to, but slightly offset from, the fundamental frequency of the drive. When there is a spectator qubit close in frequency to the fundamental frequency, suppressing the drive at the spectator’s frequency can help avoid unwanted excitation of the spectator. diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Gaussian_class.rst.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Gaussian_class.rst.mdx index 381b943c59d..9360d2a3e3e 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Gaussian_class.rst.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Gaussian_class.rst.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.library.Gaussian # Gaussian - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A lifted and truncated pulse envelope shaped according to the Gaussian function whose mean is centered at the center of the pulse (duration / 2): diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Sawtooth_class.rst.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Sawtooth_class.rst.mdx index d3305fb92de..7a01d01e3c0 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Sawtooth_class.rst.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Sawtooth_class.rst.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Sawtooth # qiskit.pulse.library.Sawtooth - + A sawtooth pulse. The envelope of the pulse is given by: diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.SechDeriv.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.SechDeriv.mdx index 8a31bd86d42..42343e3e693 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.SechDeriv.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.SechDeriv.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.SechDeriv # qiskit.pulse.library.SechDeriv - + An unnormalized sech derivative pulse. The sech function is centered around the halfway point of the pulse, and the envelope of the pulse is given by: diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Sech_fun.rst.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Sech_fun.rst.mdx index e53f1a8a035..ef3a34ed367 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Sech_fun.rst.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Sech_fun.rst.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Sech # qiskit.pulse.library.Sech - + An unnormalized sech pulse. The sech function is centered around the halfway point of the pulse, and the envelope of the pulse is given by: diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Sin_class.rst.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Sin_class.rst.mdx index 51ea251e524..f2b3254398e 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Sin_class.rst.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Sin_class.rst.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Sin # qiskit.pulse.library.Sin - + A sinusoidal pulse. The envelope of the pulse is given by: diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Square_fun.rst.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Square_fun.rst.mdx index aefe6140c67..0519777e35d 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Square_fun.rst.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Square_fun.rst.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Square # qiskit.pulse.library.Square - + A square wave pulse. The envelope of the pulse is given by: diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.SymbolicPulse.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.SymbolicPulse.mdx index 09609246ee6..0870d7433e3 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.SymbolicPulse.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.SymbolicPulse.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.library.SymbolicPulse # SymbolicPulse - + Bases: `Pulse` The pulse representation model with parameters and symbolic expressions. @@ -172,7 +172,7 @@ $$ ### draw - + Plot the interpolated envelope of pulse. **Parameters** @@ -208,7 +208,7 @@ $$ ### get\_waveform - + Return a Waveform with samples filled according to the formula that the pulse represents and the parameter values it contains. Since the returned array is a discretized time series of the continuous function, this method uses a midpoint sampler. For `duration`, return: @@ -233,7 +233,7 @@ $$ ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** @@ -243,7 +243,7 @@ $$ ### validate\_parameters - + Validate parameters. **Raises** diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Triangle_class.rst.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Triangle_class.rst.mdx index 936f0af761d..4e28fef3c29 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Triangle_class.rst.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Triangle_class.rst.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.Triangle # qiskit.pulse.library.Triangle - + A triangle wave pulse. The envelope of the pulse is given by: diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.Waveform.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.Waveform.mdx index df52c706671..e655582fb44 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.Waveform.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.Waveform.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.library.Waveform # Waveform - + Bases: `Pulse` A pulse specified completely by complex-valued samples; each sample is played for the duration of the backend cycle-time, dt. @@ -58,7 +58,7 @@ python_api_name: qiskit.pulse.library.Waveform ### draw - + Plot the interpolated envelope of pulse. **Parameters** @@ -94,7 +94,7 @@ python_api_name: qiskit.pulse.library.Waveform ### is\_parameterized - + Return True iff the instruction is parameterized. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.pulse.library.gaussian_square_echo.mdx b/docs/api/qiskit/dev/qiskit.pulse.library.gaussian_square_echo.mdx index 64f096a6103..fec1207f46d 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.library.gaussian_square_echo.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.library.gaussian_square_echo.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.pulse.library.gaussian_square_echo # qiskit.pulse.library.gaussian\_square\_echo - + An echoed Gaussian square pulse with an active tone overlaid on it. The Gaussian Square Echo pulse is composed of three pulses. First, a Gaussian Square pulse $f_{echo}(x)$ with amplitude `amp` and phase `angle` playing for half duration, followed by a second Gaussian Square pulse $-f_{echo}(x)$ with opposite amplitude and same phase playing for the rest of the duration. Third a Gaussian Square pulse $f_{active}(x)$ with amplitude `active_amp` and phase `active_angle` playing for the entire duration. The Gaussian Square Echo pulse $g_e()$ can be written as: diff --git a/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignEquispaced.mdx b/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignEquispaced.mdx index d2342aef421..f79b3a4830c 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignEquispaced.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignEquispaced.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.transforms.AlignEquispaced # AlignEquispaced - + Bases: [`AlignmentKind`](pulse#qiskit.pulse.transforms.AlignmentKind "qiskit.pulse.transforms.alignments.AlignmentKind") Align instructions with equispaced interval within a specified duration. @@ -37,7 +37,7 @@ python_api_name: qiskit.pulse.transforms.AlignEquispaced ### align - + Reallocate instructions according to the policy. Only top-level sub-schedules are aligned. If sub-schedules are nested, nested schedules are not recursively aligned. diff --git a/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignFunc.mdx b/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignFunc.mdx index 316aff5d4bc..5c1f152b174 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignFunc.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignFunc.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.transforms.AlignFunc # AlignFunc - + Bases: [`AlignmentKind`](pulse#qiskit.pulse.transforms.AlignmentKind "qiskit.pulse.transforms.alignments.AlignmentKind") Allocate instructions at position specified by callback function. @@ -57,7 +57,7 @@ python_api_name: qiskit.pulse.transforms.AlignFunc ### align - + Reallocate instructions according to the policy. Only top-level sub-schedules are aligned. If sub-schedules are nested, nested schedules are not recursively aligned. diff --git a/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignLeft.mdx b/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignLeft.mdx index f2d5d124b53..df2fa096784 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignLeft.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignLeft.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.transforms.AlignLeft # AlignLeft - + Bases: [`AlignmentKind`](pulse#qiskit.pulse.transforms.AlignmentKind "qiskit.pulse.transforms.alignments.AlignmentKind") Align instructions in as-soon-as-possible manner. @@ -27,7 +27,7 @@ python_api_name: qiskit.pulse.transforms.AlignLeft ### align - + Reallocate instructions according to the policy. Only top-level sub-schedules are aligned. If sub-schedules are nested, nested schedules are not recursively aligned. diff --git a/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignRight.mdx b/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignRight.mdx index 3b3c1d1c3fe..2bd00592d67 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignRight.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignRight.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.transforms.AlignRight # AlignRight - + Bases: [`AlignmentKind`](pulse#qiskit.pulse.transforms.AlignmentKind "qiskit.pulse.transforms.alignments.AlignmentKind") Align instructions in as-late-as-possible manner. @@ -27,7 +27,7 @@ python_api_name: qiskit.pulse.transforms.AlignRight ### align - + Reallocate instructions according to the policy. Only top-level sub-schedules are aligned. If sub-schedules are nested, nested schedules are not recursively aligned. diff --git a/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignSequential.mdx b/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignSequential.mdx index ff9603b47bc..87c1814b854 100644 --- a/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignSequential.mdx +++ b/docs/api/qiskit/dev/qiskit.pulse.transforms.AlignSequential.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.pulse.transforms.AlignSequential # AlignSequential - + Bases: [`AlignmentKind`](pulse#qiskit.pulse.transforms.AlignmentKind "qiskit.pulse.transforms.alignments.AlignmentKind") Align instructions sequentially. @@ -27,7 +27,7 @@ python_api_name: qiskit.pulse.transforms.AlignSequential ### align - + Reallocate instructions according to the policy. Only top-level sub-schedules are aligned. If sub-schedules are nested, nested schedules are not recursively aligned. diff --git a/docs/api/qiskit/dev/qiskit.qobj.GateCalibration.mdx b/docs/api/qiskit/dev/qiskit.qobj.GateCalibration.mdx index 2e9ed79135f..fef5ffc8eb0 100644 --- a/docs/api/qiskit/dev/qiskit.qobj.GateCalibration.mdx +++ b/docs/api/qiskit/dev/qiskit.qobj.GateCalibration.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.GateCalibration # GateCalibration - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Each calibration specifies a unique gate by name, qubits and params, and contains the Pulse instructions to implement it. @@ -26,7 +26,7 @@ python_api_name: qiskit.qobj.GateCalibration ### from\_dict - + Create a new GateCalibration object from a dictionary. **Parameters** @@ -44,7 +44,7 @@ python_api_name: qiskit.qobj.GateCalibration ### to\_dict - + Return a dictionary format representation of the Gate Calibration. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.qobj.PulseLibraryItem.mdx b/docs/api/qiskit/dev/qiskit.qobj.PulseLibraryItem.mdx index 3c861da5b59..c15bb99ad28 100644 --- a/docs/api/qiskit/dev/qiskit.qobj.PulseLibraryItem.mdx +++ b/docs/api/qiskit/dev/qiskit.qobj.PulseLibraryItem.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.PulseLibraryItem # PulseLibraryItem - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") An item in a pulse library. @@ -24,7 +24,7 @@ python_api_name: qiskit.qobj.PulseLibraryItem ### from\_dict - + Create a new PulseLibraryItem object from a dictionary. **Parameters** @@ -42,7 +42,7 @@ python_api_name: qiskit.qobj.PulseLibraryItem ### to\_dict - + Return a dictionary format representation of the pulse library item. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.qobj.PulseQobj.mdx b/docs/api/qiskit/dev/qiskit.qobj.PulseQobj.mdx index 48281552fd3..c29ec1e2479 100644 --- a/docs/api/qiskit/dev/qiskit.qobj.PulseQobj.mdx +++ b/docs/api/qiskit/dev/qiskit.qobj.PulseQobj.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.PulseQobj # PulseQobj - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A Pulse Qobj. @@ -28,7 +28,7 @@ python_api_name: qiskit.qobj.PulseQobj ### from\_dict - + Create a new PulseQobj object from a dictionary. **Parameters** @@ -46,7 +46,7 @@ python_api_name: qiskit.qobj.PulseQobj ### to\_dict - + Return a dictionary format representation of the Pulse Qobj. Note this dict is not in the json wire format expected by IBMQ and qobj specification because complex numbers are still of type complex. Also this may contain native numpy arrays. When serializing this output for use with IBMQ you can leverage a json encoder that converts these as expected. For example: diff --git a/docs/api/qiskit/dev/qiskit.qobj.PulseQobjConfig.mdx b/docs/api/qiskit/dev/qiskit.qobj.PulseQobjConfig.mdx index 1e39829162b..d9dabf14ab1 100644 --- a/docs/api/qiskit/dev/qiskit.qobj.PulseQobjConfig.mdx +++ b/docs/api/qiskit/dev/qiskit.qobj.PulseQobjConfig.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.PulseQobjConfig # PulseQobjConfig - + Bases: `QobjDictField` A configuration for a Pulse Qobj. @@ -34,7 +34,7 @@ python_api_name: qiskit.qobj.PulseQobjConfig ### from\_dict - + Create a new PulseQobjConfig object from a dictionary. **Parameters** @@ -52,7 +52,7 @@ python_api_name: qiskit.qobj.PulseQobjConfig ### to\_dict - + Return a dictionary format representation of the Pulse Qobj config. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.qobj.PulseQobjExperiment.mdx b/docs/api/qiskit/dev/qiskit.qobj.PulseQobjExperiment.mdx index e0ab1236ffc..e041d4fc7c2 100644 --- a/docs/api/qiskit/dev/qiskit.qobj.PulseQobjExperiment.mdx +++ b/docs/api/qiskit/dev/qiskit.qobj.PulseQobjExperiment.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.PulseQobjExperiment # PulseQobjExperiment - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A Pulse Qobj Experiment. @@ -27,7 +27,7 @@ python_api_name: qiskit.qobj.PulseQobjExperiment ### from\_dict - + Create a new PulseQobjExperiment object from a dictionary. **Parameters** @@ -45,7 +45,7 @@ python_api_name: qiskit.qobj.PulseQobjExperiment ### to\_dict - + Return a dictionary format representation of the Experiment. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.qobj.PulseQobjExperimentConfig.mdx b/docs/api/qiskit/dev/qiskit.qobj.PulseQobjExperimentConfig.mdx index fe8d00a412d..121045a2af4 100644 --- a/docs/api/qiskit/dev/qiskit.qobj.PulseQobjExperimentConfig.mdx +++ b/docs/api/qiskit/dev/qiskit.qobj.PulseQobjExperimentConfig.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.PulseQobjExperimentConfig # PulseQobjExperimentConfig - + Bases: `QobjDictField` A config for a single Pulse experiment in the qobj. @@ -25,7 +25,7 @@ python_api_name: qiskit.qobj.PulseQobjExperimentConfig ### from\_dict - + Create a new QobjHeader object from a dictionary. **Parameters** @@ -43,7 +43,7 @@ python_api_name: qiskit.qobj.PulseQobjExperimentConfig ### to\_dict - + Return a dictionary format representation of the OpenQASM 2 Qobj. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.qobj.PulseQobjInstruction.mdx b/docs/api/qiskit/dev/qiskit.qobj.PulseQobjInstruction.mdx index 6e7311496de..c32733c9536 100644 --- a/docs/api/qiskit/dev/qiskit.qobj.PulseQobjInstruction.mdx +++ b/docs/api/qiskit/dev/qiskit.qobj.PulseQobjInstruction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.PulseQobjInstruction # PulseQobjInstruction - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A class representing a single instruction in an PulseQobj Experiment. @@ -39,7 +39,7 @@ python_api_name: qiskit.qobj.PulseQobjInstruction ### from\_dict - + Create a new PulseQobjExperimentConfig object from a dictionary. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.qobj.PulseQobjInstruction ### to\_dict - + Return a dictionary format representation of the Instruction. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.qobj.QasmExperimentCalibrations.mdx b/docs/api/qiskit/dev/qiskit.qobj.QasmExperimentCalibrations.mdx index 51daab0aad3..b83806a0b12 100644 --- a/docs/api/qiskit/dev/qiskit.qobj.QasmExperimentCalibrations.mdx +++ b/docs/api/qiskit/dev/qiskit.qobj.QasmExperimentCalibrations.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.QasmExperimentCalibrations # QasmExperimentCalibrations - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A container for any calibrations data. The gates attribute contains a list of GateCalibrations. @@ -23,7 +23,7 @@ python_api_name: qiskit.qobj.QasmExperimentCalibrations ### from\_dict - + Create a new GateCalibration object from a dictionary. **Parameters** @@ -41,7 +41,7 @@ python_api_name: qiskit.qobj.QasmExperimentCalibrations ### to\_dict - + Return a dictionary format representation of the calibrations. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.qobj.QasmQobj.mdx b/docs/api/qiskit/dev/qiskit.qobj.QasmQobj.mdx index 97e3e7c6b74..a17354a959f 100644 --- a/docs/api/qiskit/dev/qiskit.qobj.QasmQobj.mdx +++ b/docs/api/qiskit/dev/qiskit.qobj.QasmQobj.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.QasmQobj # QasmQobj - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") An OpenQASM 2 Qobj. @@ -28,7 +28,7 @@ python_api_name: qiskit.qobj.QasmQobj ### from\_dict - + Create a new QASMQobj object from a dictionary. **Parameters** @@ -46,7 +46,7 @@ python_api_name: qiskit.qobj.QasmQobj ### to\_dict - + Return a dictionary format representation of the OpenQASM 2 Qobj. Note this dict is not in the json wire format expected by IBM and Qobj specification because complex numbers are still of type complex. Also, this may contain native numpy arrays. When serializing this output for use with IBM systems, you can leverage a json encoder that converts these as expected. For example: diff --git a/docs/api/qiskit/dev/qiskit.qobj.QasmQobjConfig.mdx b/docs/api/qiskit/dev/qiskit.qobj.QasmQobjConfig.mdx index a83386c8595..d8b52225117 100644 --- a/docs/api/qiskit/dev/qiskit.qobj.QasmQobjConfig.mdx +++ b/docs/api/qiskit/dev/qiskit.qobj.QasmQobjConfig.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.QasmQobjConfig # QasmQobjConfig - + Bases: [`SimpleNamespace`](https://docs.python.org/3/library/types.html#types.SimpleNamespace "(in Python v3.12)") A configuration for an OpenQASM 2 Qobj. @@ -36,7 +36,7 @@ python_api_name: qiskit.qobj.QasmQobjConfig ### from\_dict - + Create a new QasmQobjConfig object from a dictionary. **Parameters** @@ -54,7 +54,7 @@ python_api_name: qiskit.qobj.QasmQobjConfig ### to\_dict - + Return a dictionary format representation of the OpenQASM 2 Qobj config. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.qobj.QasmQobjExperiment.mdx b/docs/api/qiskit/dev/qiskit.qobj.QasmQobjExperiment.mdx index f519d668d45..a03993a76fb 100644 --- a/docs/api/qiskit/dev/qiskit.qobj.QasmQobjExperiment.mdx +++ b/docs/api/qiskit/dev/qiskit.qobj.QasmQobjExperiment.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.QasmQobjExperiment # QasmQobjExperiment - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") An OpenQASM 2 Qobj Experiment. @@ -27,7 +27,7 @@ python_api_name: qiskit.qobj.QasmQobjExperiment ### from\_dict - + Create a new QasmQobjExperiment object from a dictionary. **Parameters** @@ -45,7 +45,7 @@ python_api_name: qiskit.qobj.QasmQobjExperiment ### to\_dict - + Return a dictionary format representation of the Experiment. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.qobj.QasmQobjExperimentConfig.mdx b/docs/api/qiskit/dev/qiskit.qobj.QasmQobjExperimentConfig.mdx index 306b35d7ec4..071b57808a0 100644 --- a/docs/api/qiskit/dev/qiskit.qobj.QasmQobjExperimentConfig.mdx +++ b/docs/api/qiskit/dev/qiskit.qobj.QasmQobjExperimentConfig.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.QasmQobjExperimentConfig # QasmQobjExperimentConfig - + Bases: `QobjDictField` Configuration for a single OpenQASM 2 experiment in the qobj. @@ -24,7 +24,7 @@ python_api_name: qiskit.qobj.QasmQobjExperimentConfig ### from\_dict - + Create a new QobjHeader object from a dictionary. **Parameters** @@ -42,7 +42,7 @@ python_api_name: qiskit.qobj.QasmQobjExperimentConfig ### to\_dict - + Return a dictionary format representation of the OpenQASM 2 Qobj. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.qobj.QasmQobjInstruction.mdx b/docs/api/qiskit/dev/qiskit.qobj.QasmQobjInstruction.mdx index 42a17616c2d..649b5b02ce9 100644 --- a/docs/api/qiskit/dev/qiskit.qobj.QasmQobjInstruction.mdx +++ b/docs/api/qiskit/dev/qiskit.qobj.QasmQobjInstruction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.QasmQobjInstruction # QasmQobjInstruction - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A class representing a single instruction in an QasmQobj Experiment. @@ -34,7 +34,7 @@ python_api_name: qiskit.qobj.QasmQobjInstruction ### from\_dict - + Create a new QasmQobjInstruction object from a dictionary. **Parameters** @@ -52,7 +52,7 @@ python_api_name: qiskit.qobj.QasmQobjInstruction ### to\_dict - + Return a dictionary format representation of the Instruction. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.qobj.QobjExperimentHeader.mdx b/docs/api/qiskit/dev/qiskit.qobj.QobjExperimentHeader.mdx index 4082e626c90..abd381162c9 100644 --- a/docs/api/qiskit/dev/qiskit.qobj.QobjExperimentHeader.mdx +++ b/docs/api/qiskit/dev/qiskit.qobj.QobjExperimentHeader.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.QobjExperimentHeader # QobjExperimentHeader - + Bases: [`QobjHeader`](qiskit.qobj.QobjHeader "qiskit.qobj.common.QobjHeader") A class representing a header dictionary for a Qobj Experiment. @@ -23,7 +23,7 @@ python_api_name: qiskit.qobj.QobjExperimentHeader ### from\_dict - + Create a new QobjHeader object from a dictionary. **Parameters** @@ -41,7 +41,7 @@ python_api_name: qiskit.qobj.QobjExperimentHeader ### to\_dict - + Return a dictionary format representation of the OpenQASM 2 Qobj. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.qobj.QobjHeader.mdx b/docs/api/qiskit/dev/qiskit.qobj.QobjHeader.mdx index 8142bd93c9e..aeba574b153 100644 --- a/docs/api/qiskit/dev/qiskit.qobj.QobjHeader.mdx +++ b/docs/api/qiskit/dev/qiskit.qobj.QobjHeader.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.QobjHeader # QobjHeader - + Bases: `QobjDictField` A class used to represent a dictionary header in Qobj objects. @@ -23,7 +23,7 @@ python_api_name: qiskit.qobj.QobjHeader ### from\_dict - + Create a new QobjHeader object from a dictionary. **Parameters** @@ -41,7 +41,7 @@ python_api_name: qiskit.qobj.QobjHeader ### to\_dict - + Return a dictionary format representation of the OpenQASM 2 Qobj. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.qobj.QobjMeasurementOption.mdx b/docs/api/qiskit/dev/qiskit.qobj.QobjMeasurementOption.mdx index 548bef359b2..73f03fd0419 100644 --- a/docs/api/qiskit/dev/qiskit.qobj.QobjMeasurementOption.mdx +++ b/docs/api/qiskit/dev/qiskit.qobj.QobjMeasurementOption.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.qobj.QobjMeasurementOption # QobjMeasurementOption - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") An individual measurement option. @@ -24,7 +24,7 @@ python_api_name: qiskit.qobj.QobjMeasurementOption ### from\_dict - + Create a new QobjMeasurementOption object from a dictionary. **Parameters** @@ -42,7 +42,7 @@ python_api_name: qiskit.qobj.QobjMeasurementOption ### to\_dict - + Return a dict format representation of the QobjMeasurementOption. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.CNOTDihedral.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.CNOTDihedral.mdx index bc78ae0d6d3..e29a4207ba6 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.CNOTDihedral.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.CNOTDihedral.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.CNOTDihedral # CNOTDihedral - + Bases: `BaseOperator`, `AdjointMixin` An N-qubit operator from the CNOT-Dihedral group. @@ -106,13 +106,13 @@ python_api_name: qiskit.quantum_info.CNOTDihedral ### adjoint - + Return the adjoint of the Operator. ### compose - + Return the operator composition with another CNOTDihedral. **Parameters** @@ -142,19 +142,19 @@ python_api_name: qiskit.quantum_info.CNOTDihedral ### conjugate - + Return the conjugate of the CNOTDihedral. ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -177,7 +177,7 @@ python_api_name: qiskit.quantum_info.CNOTDihedral ### expand - + Return the reverse-order tensor product with another CNOTDihedral. **Parameters** @@ -197,19 +197,19 @@ python_api_name: qiskit.quantum_info.CNOTDihedral ### input\_dims - + Return tuple of input dimension for specified subsystems. ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the compose of a operator with itself n times. **Parameters** @@ -231,7 +231,7 @@ python_api_name: qiskit.quantum_info.CNOTDihedral ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -255,7 +255,7 @@ python_api_name: qiskit.quantum_info.CNOTDihedral ### tensor - + Return the tensor product with another CNOTDihedral. **Parameters** @@ -279,7 +279,7 @@ python_api_name: qiskit.quantum_info.CNOTDihedral ### to\_circuit - + Return a QuantumCircuit implementing the CNOT-Dihedral element. **Returns** @@ -298,19 +298,19 @@ python_api_name: qiskit.quantum_info.CNOTDihedral ### to\_instruction - + Return a Gate instruction implementing the CNOTDihedral object. ### to\_matrix - + Convert operator to Numpy matrix. ### to\_operator - + Convert to an Operator object. **Return type** @@ -320,7 +320,7 @@ python_api_name: qiskit.quantum_info.CNOTDihedral ### transpose - + Return the transpose of the CNOTDihedral. diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.Chi.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.Chi.mdx index e972612c2c7..8ff179734d1 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.Chi.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.Chi.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Chi # Chi - + Bases: `QuantumChannel` Pauli basis Chi-matrix representation of a quantum channel. @@ -87,7 +87,7 @@ $$ ### adjoint - + Return the adjoint quantum channel. @@ -97,7 +97,7 @@ $$ ### compose - + Return the operator composition with another Chi. **Parameters** @@ -127,7 +127,7 @@ $$ ### conjugate - + Return the conjugate quantum channel. @@ -137,13 +137,13 @@ $$ ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -166,7 +166,7 @@ $$ ### expand - + Return the reverse-order tensor product with another Chi. **Parameters** @@ -186,13 +186,13 @@ $$ ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_cp - + Test if Choi-matrix is completely-positive (CP) **Return type** @@ -202,7 +202,7 @@ $$ ### is\_cptp - + Return True if completely-positive trace-preserving (CPTP). **Return type** @@ -212,7 +212,7 @@ $$ ### is\_tp - + Test if a channel is trace-preserving (TP) **Return type** @@ -222,7 +222,7 @@ $$ ### is\_unitary - + Return True if QuantumChannel is a unitary channel. **Return type** @@ -232,13 +232,13 @@ $$ ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the power of the quantum channel. **Parameters** @@ -264,7 +264,7 @@ $$ ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -288,7 +288,7 @@ $$ ### tensor - + Return the tensor product with another Chi. **Parameters** @@ -312,7 +312,7 @@ $$ ### to\_instruction - + Convert to a Kraus or UnitaryGate circuit instruction. If the channel is unitary it will be added as a unitary gate, otherwise it will be added as a kraus simulator instruction. @@ -332,7 +332,7 @@ $$ ### to\_operator - + Try to convert channel to a unitary representation Operator. **Return type** @@ -342,7 +342,7 @@ $$ ### transpose - + Return the transpose quantum channel. diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.Choi.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.Choi.mdx index eb019aacf95..1157eaaac48 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.Choi.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.Choi.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Choi # Choi - + Bases: `QuantumChannel` Choi-matrix representation of a Quantum Channel. @@ -95,7 +95,7 @@ $$ ### adjoint - + Return the adjoint quantum channel. @@ -109,7 +109,7 @@ $$ ### compose - + Return the operator composition with another Choi. **Parameters** @@ -139,7 +139,7 @@ $$ ### conjugate - + Return the conjugate quantum channel. @@ -149,13 +149,13 @@ $$ ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -178,7 +178,7 @@ $$ ### expand - + Return the reverse-order tensor product with another Choi. **Parameters** @@ -198,13 +198,13 @@ $$ ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_cp - + Test if Choi-matrix is completely-positive (CP) **Return type** @@ -214,7 +214,7 @@ $$ ### is\_cptp - + Return True if completely-positive trace-preserving (CPTP). **Return type** @@ -224,7 +224,7 @@ $$ ### is\_tp - + Test if a channel is trace-preserving (TP) **Return type** @@ -234,7 +234,7 @@ $$ ### is\_unitary - + Return True if QuantumChannel is a unitary channel. **Return type** @@ -244,13 +244,13 @@ $$ ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the power of the quantum channel. **Parameters** @@ -276,7 +276,7 @@ $$ ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -300,7 +300,7 @@ $$ ### tensor - + Return the tensor product with another Choi. **Parameters** @@ -324,7 +324,7 @@ $$ ### to\_instruction - + Convert to a Kraus or UnitaryGate circuit instruction. If the channel is unitary it will be added as a unitary gate, otherwise it will be added as a kraus simulator instruction. @@ -344,7 +344,7 @@ $$ ### to\_operator - + Try to convert channel to a unitary representation Operator. **Return type** @@ -354,7 +354,7 @@ $$ ### transpose - + Return the transpose quantum channel. diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.Clifford.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.Clifford.mdx index ce8f4e92209..eb6b091ef98 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.Clifford.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.Clifford.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Clifford # Clifford - + Bases: `BaseOperator`, `AdjointMixin`, [`Operation`](qiskit.circuit.Operation "qiskit.circuit.operation.Operation") An N-qubit unitary operator from the Clifford group. @@ -174,13 +174,13 @@ python_api_name: qiskit.quantum_info.Clifford ### adjoint - + Return the adjoint of the Operator. ### compose - + Return the operator composition with another Clifford. **Parameters** @@ -210,19 +210,19 @@ python_api_name: qiskit.quantum_info.Clifford ### conjugate - + Return the conjugate of the Clifford. ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -245,7 +245,7 @@ python_api_name: qiskit.quantum_info.Clifford ### expand - + Return the reverse-order tensor product with another Clifford. **Parameters** @@ -265,7 +265,7 @@ python_api_name: qiskit.quantum_info.Clifford ### from\_circuit - + Initialize from a QuantumCircuit or Instruction. **Parameters** @@ -287,13 +287,13 @@ python_api_name: qiskit.quantum_info.Clifford ### from\_dict - + Load a Clifford from a dictionary ### from\_label - + Return a tensor product of single-qubit Clifford gates. **Parameters** @@ -341,7 +341,7 @@ python_api_name: qiskit.quantum_info.Clifford ### from\_linear\_function - + Create a Clifford from a Linear Function. If the linear function is represented by a nxn binary invertible matrix A, then the corresponding Clifford has symplectic matrix \[\[A^t, 0], \[0, A^\{-1}]]. @@ -361,7 +361,7 @@ python_api_name: qiskit.quantum_info.Clifford ### from\_matrix - + Create a Clifford from a unitary matrix. Note that this function takes exponentially long time w\.r.t. the number of qubits. @@ -385,7 +385,7 @@ python_api_name: qiskit.quantum_info.Clifford ### from\_operator - + Create a Clifford from a operator. Note that this function takes exponentially long time w\.r.t. the number of qubits. @@ -409,7 +409,7 @@ python_api_name: qiskit.quantum_info.Clifford ### from\_permutation - + Create a Clifford from a PermutationGate. **Parameters** @@ -427,25 +427,25 @@ python_api_name: qiskit.quantum_info.Clifford ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_unitary - + Return True if the Clifford table is valid. ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the compose of a operator with itself n times. **Parameters** @@ -467,7 +467,7 @@ python_api_name: qiskit.quantum_info.Clifford ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -491,7 +491,7 @@ python_api_name: qiskit.quantum_info.Clifford ### tensor - + Return the tensor product with another Clifford. **Parameters** @@ -515,7 +515,7 @@ python_api_name: qiskit.quantum_info.Clifford ### to\_circuit - + Return a QuantumCircuit implementing the Clifford. 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 compilation routine from reference \[2]. @@ -536,19 +536,19 @@ python_api_name: qiskit.quantum_info.Clifford ### to\_dict - + Return dictionary representation of Clifford object. ### to\_instruction - + Return a Gate instruction implementing the Clifford. ### to\_labels - + Convert a Clifford to a list Pauli (de)stabilizer string labels. For large Clifford converting using the `array=True` kwarg will be more efficient since it allocates memory for the full Numpy array of labels in advance. @@ -584,13 +584,13 @@ python_api_name: qiskit.quantum_info.Clifford ### to\_matrix - + Convert operator to Numpy matrix. ### to\_operator - + Convert to an Operator object. **Return type** @@ -600,7 +600,7 @@ python_api_name: qiskit.quantum_info.Clifford ### transpose - + Return the transpose of the Clifford. diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.DensityMatrix.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.DensityMatrix.mdx index 2e4c15a359e..2887a7da0e0 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.DensityMatrix.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.DensityMatrix.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix # DensityMatrix - + Bases: `QuantumState`, `TolerancesMixin` DensityMatrix class @@ -69,25 +69,25 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### conjugate - + Return the conjugate of the density matrix. ### copy - + Make a copy of current operator. ### dims - + Return tuple of input dimension for specified subsystems. ### draw - + Return a visualization of the Statevector. **repr**: ASCII TextMatrix of the state’s `__repr__`. @@ -120,7 +120,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### evolve - + Evolve a quantum state by an operator. **Parameters** @@ -143,7 +143,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### expand - + Return the tensor product state other ⊗ self. **Parameters** @@ -165,7 +165,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### expectation\_value - + Compute the expectation value of an operator. **Parameters** @@ -184,7 +184,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### from\_instruction - + Return the output density matrix of an instruction. The statevector is initialized in the state $|{0,\ldots,0}\rangle$ of the same number of qubits as the input instruction or circuit, evolved by the input instruction, and the output statevector returned. @@ -208,7 +208,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### from\_int - + Return a computational basis state density matrix. **Parameters** @@ -234,7 +234,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### from\_label - + Return a tensor product of Pauli X,Y,Z eigenstates. | Label | Statevector | @@ -265,13 +265,13 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### is\_valid - + Return True if trace 1 and positive semidefinite. ### measure - + Measure subsystems and return outcome and post-measure state. Note that this function uses the QuantumStates internal random number generator for sampling the measurement outcome. The RNG seed can be set using the [`seed()`](#qiskit.quantum_info.DensityMatrix.seed "qiskit.quantum_info.DensityMatrix.seed") method. @@ -293,7 +293,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### partial\_transpose - + Return partially transposed density matrix. **Parameters** @@ -311,7 +311,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### probabilities - + Return the subsystem measurement probability vector. Measurement probabilities are with respect to measurement in the computation (diagonal) basis. @@ -382,7 +382,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### probabilities\_dict - + Return the subsystem measurement probability dictionary. Measurement probabilities are with respect to measurement in the computation (diagonal) basis. @@ -405,13 +405,13 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### purity - + Return the purity of the quantum state. ### reset - + Reset state or subsystems to the 0-state. **Parameters** @@ -433,7 +433,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### reverse\_qargs - + Return a DensityMatrix with reversed subsystem ordering. For a tensor product state this is equivalent to reversing the order of tensor product subsystems. For a density matrix $\rho = \rho_{n-1} \otimes ... \otimes \rho_0$ the returned state will be $\rho_0 \otimes ... \otimes \rho_{n-1}$. @@ -449,7 +449,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### sample\_counts - + Sample a dict of qubit measurement outcomes in the computational basis. **Parameters** @@ -474,7 +474,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### sample\_memory - + Sample a list of qubit measurement outcomes in the computational basis. **Parameters** @@ -499,13 +499,13 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### seed - + Set the seed for the quantum state RNG. ### tensor - + Return the tensor product state self ⊗ other. **Parameters** @@ -527,7 +527,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### to\_dict - + Convert the density matrix to dictionary form. This dictionary representation uses a Ket-like notation where the dictionary keys are qudit strings for the subsystem basis vectors. If any subsystem has a dimension greater than 10 comma delimiters are inserted between integers so that subsystems can be distinguished. @@ -603,7 +603,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### to\_operator - + Convert to Operator **Return type** @@ -613,7 +613,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### to\_statevector - + Return a statevector from a pure density matrix. **Parameters** @@ -638,7 +638,7 @@ python_api_name: qiskit.quantum_info.DensityMatrix ### trace - + Return the trace of the density matrix. diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.Kraus.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.Kraus.mdx index ef8f1146725..8222906771a 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.Kraus.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.Kraus.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Kraus # Kraus - + Bases: `QuantumChannel` Kraus representation of a quantum channel. @@ -91,7 +91,7 @@ $$ ### adjoint - + Return the adjoint quantum channel. @@ -101,7 +101,7 @@ $$ ### compose - + Return the operator composition with another Kraus. **Parameters** @@ -131,7 +131,7 @@ $$ ### conjugate - + Return the conjugate quantum channel. @@ -141,13 +141,13 @@ $$ ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -170,7 +170,7 @@ $$ ### expand - + Return the reverse-order tensor product with another Kraus. **Parameters** @@ -190,13 +190,13 @@ $$ ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_cp - + Test if Choi-matrix is completely-positive (CP) **Return type** @@ -206,13 +206,13 @@ $$ ### is\_cptp - + Return True if completely-positive trace-preserving. ### is\_tp - + Test if a channel is trace-preserving (TP) **Return type** @@ -222,7 +222,7 @@ $$ ### is\_unitary - + Return True if QuantumChannel is a unitary channel. **Return type** @@ -232,13 +232,13 @@ $$ ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the power of the quantum channel. **Parameters** @@ -264,7 +264,7 @@ $$ ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -288,7 +288,7 @@ $$ ### tensor - + Return the tensor product with another Kraus. **Parameters** @@ -312,7 +312,7 @@ $$ ### to\_instruction - + Convert to a Kraus or UnitaryGate circuit instruction. If the channel is unitary it will be added as a unitary gate, otherwise it will be added as a kraus simulator instruction. @@ -332,7 +332,7 @@ $$ ### to\_operator - + Try to convert channel to a unitary representation Operator. **Return type** @@ -342,7 +342,7 @@ $$ ### transpose - + Return the transpose quantum channel. diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.Operator.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.Operator.mdx index 43a4812f708..08c43f0a987 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.Operator.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.Operator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Operator # Operator - + Bases: `LinearOp` Matrix operator class @@ -85,7 +85,7 @@ $$ ### adjoint - + Return the adjoint of the Operator. **Return type** @@ -95,7 +95,7 @@ $$ ### apply\_permutation - + Modifies operator’s data by composing it with a permutation. **Parameters** @@ -118,7 +118,7 @@ $$ ### compose - + Return the operator composition with another Operator. **Parameters** @@ -148,19 +148,19 @@ $$ ### conjugate - + Return the conjugate of the Operator. ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -183,7 +183,7 @@ $$ ### draw - + Return a visualization of the Operator. **repr**: String of the state’s `__repr__`. @@ -214,7 +214,7 @@ $$ ### equiv - + Return True if operators are equivalent up to global phase. **Parameters** @@ -234,7 +234,7 @@ $$ ### expand - + Return the reverse-order tensor product with another Operator. **Parameters** @@ -254,7 +254,7 @@ $$ ### from\_circuit - + Create a new Operator object from a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") While a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") object can passed directly as `data` to the class constructor this provides no options on how the circuit is used to create an [`Operator`](#qiskit.quantum_info.Operator "qiskit.quantum_info.Operator"). This constructor method lets you control how the [`Operator`](#qiskit.quantum_info.Operator "qiskit.quantum_info.Operator") is created so it can be adjusted for a particular use case. @@ -279,7 +279,7 @@ $$ ### from\_label - + Return a tensor product of single-qubit operators. **Parameters** @@ -305,25 +305,25 @@ $$ ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_unitary - + Return True if operator is a unitary matrix. ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the matrix power of the operator. **Parameters** @@ -345,7 +345,7 @@ $$ ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -369,7 +369,7 @@ $$ ### reverse\_qargs - + Return an Operator with reversed subsystem ordering. For a tensor product operator this is equivalent to reversing the order of tensor product subsystems. For an operator $A = A_{n-1} \otimes ... \otimes A_0$ the returned operator will be $A_0 \otimes ... \otimes A_{n-1}$. @@ -385,7 +385,7 @@ $$ ### tensor - + Return the tensor product with another Operator. **Parameters** @@ -409,19 +409,19 @@ $$ ### to\_instruction - + Convert to a UnitaryGate instruction. ### to\_matrix - + Convert operator to NumPy matrix. ### to\_operator - + Convert operator to matrix operator class **Return type** @@ -431,7 +431,7 @@ $$ ### transpose - + Return the transpose of the Operator. diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.PTM.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.PTM.mdx index f29d1a002f7..d4706ec7af2 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.PTM.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.PTM.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.PTM # PTM - + Bases: `QuantumChannel` Pauli Transfer Matrix (PTM) representation of a Quantum Channel. @@ -95,7 +95,7 @@ $$ ### adjoint - + Return the adjoint quantum channel. @@ -105,7 +105,7 @@ $$ ### compose - + Return the operator composition with another PTM. **Parameters** @@ -135,7 +135,7 @@ $$ ### conjugate - + Return the conjugate quantum channel. @@ -145,13 +145,13 @@ $$ ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -174,7 +174,7 @@ $$ ### expand - + Return the reverse-order tensor product with another PTM. **Parameters** @@ -194,13 +194,13 @@ $$ ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_cp - + Test if Choi-matrix is completely-positive (CP) **Return type** @@ -210,7 +210,7 @@ $$ ### is\_cptp - + Return True if completely-positive trace-preserving (CPTP). **Return type** @@ -220,7 +220,7 @@ $$ ### is\_tp - + Test if a channel is trace-preserving (TP) **Return type** @@ -230,7 +230,7 @@ $$ ### is\_unitary - + Return True if QuantumChannel is a unitary channel. **Return type** @@ -240,13 +240,13 @@ $$ ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the power of the quantum channel. **Parameters** @@ -272,7 +272,7 @@ $$ ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -296,7 +296,7 @@ $$ ### tensor - + Return the tensor product with another PTM. **Parameters** @@ -320,7 +320,7 @@ $$ ### to\_instruction - + Convert to a Kraus or UnitaryGate circuit instruction. If the channel is unitary it will be added as a unitary gate, otherwise it will be added as a kraus simulator instruction. @@ -340,7 +340,7 @@ $$ ### to\_operator - + Try to convert channel to a unitary representation Operator. **Return type** @@ -350,7 +350,7 @@ $$ ### transpose - + Return the transpose quantum channel. diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.Pauli.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.Pauli.mdx index 15aaeb55562..6b45f2d2863 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.Pauli.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.Pauli.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Pauli # Pauli - + Bases: `BasePauli` N-qubit Pauli operator. @@ -169,13 +169,13 @@ $$ ### adjoint - + Return the adjoint of the Operator. ### anticommutes - + Return True if other Pauli anticommutes with self. **Parameters** @@ -194,7 +194,7 @@ $$ ### commutes - + Return True if the Pauli commutes with other. **Parameters** @@ -213,7 +213,7 @@ $$ ### compose - + Return the operator composition with another Pauli. **Parameters** @@ -244,19 +244,19 @@ $$ ### conjugate - + Return the conjugate of each Pauli in the list. ### copy - + Make a deep copy of current operator. ### delete - + Return a Pauli with qubits deleted. **Parameters** @@ -278,7 +278,7 @@ $$ ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -298,7 +298,7 @@ $$ ### equiv - + Return True if Pauli’s are equivalent up to group phase. **Parameters** @@ -316,7 +316,7 @@ $$ ### evolve - + Performs either Heisenberg (default) or Schrödinger picture evolution of the Pauli by a Clifford and returns the evolved Pauli. Schrödinger picture evolution can be chosen by passing parameter `frame='s'`. This option yields a faster calculation. @@ -347,7 +347,7 @@ $$ ### expand - + Return the reverse-order tensor product with another Pauli. **Parameters** @@ -367,13 +367,13 @@ $$ ### input\_dims - + Return tuple of input dimension for specified subsystems. ### insert - + Insert a Pauli at specific qubit value. **Parameters** @@ -396,19 +396,19 @@ $$ ### inverse - + Return the inverse of the Pauli. ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the compose of a operator with itself n times. **Parameters** @@ -430,7 +430,7 @@ $$ ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -454,7 +454,7 @@ $$ ### set\_truncation - + Set the max number of Pauli characters to display before truncation/ **Parameters** @@ -468,7 +468,7 @@ $$ ### tensor - + Return the tensor product with another Pauli. **Parameters** @@ -492,13 +492,13 @@ $$ ### to\_instruction - + Convert to Pauli circuit instruction. ### to\_label - + Convert a Pauli to a string label. @@ -516,7 +516,7 @@ $$ ### to\_matrix - + Convert to a Numpy array or sparse CSR matrix. **Parameters** @@ -534,7 +534,7 @@ $$ ### transpose - + Return the transpose of each Pauli in the list. diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.PauliList.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.PauliList.mdx index 3d1942b2a11..1c393ce6bbe 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.PauliList.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.PauliList.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.PauliList # PauliList - + Bases: `BasePauli`, `LinearMixin`, `GroupMixin` List of N-qubit Pauli operators. @@ -161,13 +161,13 @@ python_api_name: qiskit.quantum_info.PauliList ### adjoint - + Return the adjoint of each Pauli in the list. ### anticommutes - + Return `True` if other Pauli that anticommutes with other. **Parameters** @@ -186,7 +186,7 @@ python_api_name: qiskit.quantum_info.PauliList ### anticommutes\_with\_all - + Return indexes of rows that commute other. If `other` is a multi-row Pauli list the returned vector indexes rows of the current PauliList that anti-commute with *all* Paulis in other. If no rows satisfy the condition the returned array will be empty. @@ -206,7 +206,7 @@ python_api_name: qiskit.quantum_info.PauliList ### argsort - + Return indices for sorting the rows of the table. The default sort method is lexicographic sorting by qubit number. By using the weight kwarg the output can additionally be sorted by the number of non-identity terms in the Pauli, where the set of all Paulis of a given weight are still ordered lexicographically. @@ -227,7 +227,7 @@ python_api_name: qiskit.quantum_info.PauliList ### commutes - + Return True for each Pauli that commutes with other. **Parameters** @@ -246,7 +246,7 @@ python_api_name: qiskit.quantum_info.PauliList ### commutes\_with\_all - + Return indexes of rows that commute `other`. If `other` is a multi-row Pauli list the returned vector indexes rows of the current PauliList that commute with *all* Paulis in other. If no rows satisfy the condition the returned array will be empty. @@ -266,7 +266,7 @@ python_api_name: qiskit.quantum_info.PauliList ### compose - + Return the composition self∘other for each Pauli in the list. **Parameters** @@ -291,19 +291,19 @@ python_api_name: qiskit.quantum_info.PauliList ### conjugate - + Return the conjugate of each Pauli in the list. ### copy - + Make a deep copy of current operator. ### delete - + Return a copy with Pauli rows deleted from table. When deleting qubits the qubit index is the same as the column index of the underlying `X` and `Z` arrays. @@ -328,7 +328,7 @@ python_api_name: qiskit.quantum_info.PauliList ### dot - + Return the composition other∘self for each Pauli in the list. **Parameters** @@ -352,7 +352,7 @@ python_api_name: qiskit.quantum_info.PauliList ### equiv - + Entrywise comparison of Pauli equivalence up to global phase. **Parameters** @@ -372,7 +372,7 @@ python_api_name: qiskit.quantum_info.PauliList ### evolve - + Performs either Heisenberg (default) or Schrödinger picture evolution of the Pauli by a Clifford and returns the evolved Pauli. Schrödinger picture evolution can be chosen by passing parameter `frame='s'`. This option yields a faster calculation. @@ -402,7 +402,7 @@ python_api_name: qiskit.quantum_info.PauliList ### expand - + Return the expand product of each Pauli in the list. **Parameters** @@ -424,7 +424,7 @@ python_api_name: qiskit.quantum_info.PauliList ### from\_symplectic - + Construct a PauliList from a symplectic data. **Parameters** @@ -444,7 +444,7 @@ python_api_name: qiskit.quantum_info.PauliList ### group\_commuting - + Partition a PauliList into sets of commuting Pauli strings. **Parameters** @@ -473,7 +473,7 @@ python_api_name: qiskit.quantum_info.PauliList ### group\_qubit\_wise\_commuting - + Partition a PauliList into sets of mutually qubit-wise commuting Pauli strings. **Returns** @@ -487,13 +487,13 @@ python_api_name: qiskit.quantum_info.PauliList ### input\_dims - + Return tuple of input dimension for specified subsystems. ### insert - + Insert Paulis into the table. When inserting qubits the qubit index is the same as the column index of the underlying `X` and `Z` arrays. @@ -519,13 +519,13 @@ python_api_name: qiskit.quantum_info.PauliList ### inverse - + Return the inverse of each Pauli in the list. ### label\_iter - + Return a label representation iterator. This is a lazy iterator that converts each row into the string label only as it is used. To convert the entire table to labels use the [`to_labels()`](#qiskit.quantum_info.PauliList.to_labels "qiskit.quantum_info.PauliList.to_labels") method. @@ -541,7 +541,7 @@ python_api_name: qiskit.quantum_info.PauliList ### matrix\_iter - + Return a matrix representation iterator. This is a lazy iterator that converts each row into the Pauli matrix representation only as it is used. To convert the entire table to matrices use the [`to_matrix()`](#qiskit.quantum_info.PauliList.to_matrix "qiskit.quantum_info.PauliList.to_matrix") method. @@ -561,7 +561,7 @@ python_api_name: qiskit.quantum_info.PauliList ### noncommutation\_graph - + 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. @@ -583,13 +583,13 @@ python_api_name: qiskit.quantum_info.PauliList ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the compose of a operator with itself n times. **Parameters** @@ -611,7 +611,7 @@ python_api_name: qiskit.quantum_info.PauliList ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -635,7 +635,7 @@ python_api_name: qiskit.quantum_info.PauliList ### sort - + Sort the rows of the table. The default sort method is lexicographic sorting by qubit number. By using the weight kwarg the output can additionally be sorted by the number of non-identity terms in the Pauli, where the set of all Paulis of a given weight are still ordered lexicographically. @@ -696,7 +696,7 @@ python_api_name: qiskit.quantum_info.PauliList ### tensor - + Return the tensor product with each Pauli in the list. **Parameters** @@ -718,7 +718,7 @@ python_api_name: qiskit.quantum_info.PauliList ### to\_labels - + Convert a PauliList to a list Pauli string labels. For large PauliLists converting using the `array=True` kwarg will be more efficient since it allocates memory for the full Numpy array of labels in advance. @@ -745,7 +745,7 @@ python_api_name: qiskit.quantum_info.PauliList ### to\_matrix - + Convert to a list or array of Pauli matrices. For large PauliLists converting using the `array=True` kwarg will be more efficient since it allocates memory a full rank-3 Numpy array of matrices in advance. @@ -773,13 +773,13 @@ python_api_name: qiskit.quantum_info.PauliList ### transpose - + Return the transpose of each Pauli in the list. ### unique - + Return unique Paulis from the table. **Example** diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.Quaternion.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.Quaternion.mdx index fda98bed823..78ddf3bf9ca 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.Quaternion.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.Quaternion.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Quaternion # Quaternion - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A class representing a Quaternion. @@ -17,7 +17,7 @@ python_api_name: qiskit.quantum_info.Quaternion ### from\_axis\_rotation - + Return quaternion for rotation about given axis. **Parameters** @@ -40,7 +40,7 @@ python_api_name: qiskit.quantum_info.Quaternion ### from\_euler - + Generate a quaternion from a set of Euler angles. **Parameters** @@ -59,13 +59,13 @@ python_api_name: qiskit.quantum_info.Quaternion ### norm - + Norm of quaternion. ### normalize - + Normalizes a Quaternion to unit length so that it represents a valid rotation. **Parameters** @@ -83,7 +83,7 @@ python_api_name: qiskit.quantum_info.Quaternion ### to\_matrix - + Converts a unit-length quaternion to a rotation matrix. **Returns** @@ -97,7 +97,7 @@ python_api_name: qiskit.quantum_info.Quaternion ### to\_zyz - + Converts a unit-length quaternion to a sequence of ZYZ Euler angles. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.ScalarOp.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.ScalarOp.mdx index 23b029c4e12..9226d18bc45 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.ScalarOp.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.ScalarOp.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.ScalarOp # ScalarOp - + Bases: `LinearOp` Scalar identity operator class. @@ -64,7 +64,7 @@ python_api_name: qiskit.quantum_info.ScalarOp ### adjoint - + Return the adjoint of the Operator. **Return type** @@ -74,7 +74,7 @@ python_api_name: qiskit.quantum_info.ScalarOp ### compose - + Return the operator composition with another ScalarOp. **Parameters** @@ -104,19 +104,19 @@ python_api_name: qiskit.quantum_info.ScalarOp ### conjugate - + Return the conjugate of the ScalarOp. ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -139,7 +139,7 @@ python_api_name: qiskit.quantum_info.ScalarOp ### expand - + Return the reverse-order tensor product with another ScalarOp. **Parameters** @@ -159,25 +159,25 @@ python_api_name: qiskit.quantum_info.ScalarOp ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_unitary - + Return True if operator is a unitary matrix. ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the power of the ScalarOp. **Parameters** @@ -195,7 +195,7 @@ python_api_name: qiskit.quantum_info.ScalarOp ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -219,7 +219,7 @@ python_api_name: qiskit.quantum_info.ScalarOp ### tensor - + Return the tensor product with another ScalarOp. **Parameters** @@ -243,13 +243,13 @@ python_api_name: qiskit.quantum_info.ScalarOp ### to\_matrix - + Convert to a Numpy matrix. ### to\_operator - + Convert to an Operator object. **Return type** @@ -259,7 +259,7 @@ python_api_name: qiskit.quantum_info.ScalarOp ### transpose - + Return the transpose of the ScalarOp. diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.SparsePauliOp.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.SparsePauliOp.mdx index b1cad652d4c..1fdd5800d5d 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.SparsePauliOp.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.SparsePauliOp.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp # SparsePauliOp - + Bases: `LinearOp` Sparse N-qubit operator in a Pauli basis representation. @@ -127,13 +127,13 @@ python_api_name: qiskit.quantum_info.SparsePauliOp ### adjoint - + Return the adjoint of the Operator. ### apply\_layout - + Apply a transpiler layout to this [`SparsePauliOp`](#qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp") **Parameters** @@ -152,7 +152,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp ### argsort - + Return indices for sorting the rows of the table. Returns the composition of permutations in the order of sorting by coefficient and sorting by Pauli. By using the weight kwarg the output can additionally be sorted by the number of non-identity terms in the Pauli, where the set of all Pauli’s of a given weight are still ordered lexicographically. @@ -220,7 +220,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp ### assign\_parameters - + Bind the free `Parameter`s in the coefficients to provided values. **Parameters** @@ -239,7 +239,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp ### chop - + Set real and imaginary parts of the coefficients to 0 if `< tol` in magnitude. For example, the operator representing `1+1e-17j X + 1e-17 Y` with a tolerance larger than `1e-17` will be reduced to `1 X` whereas [`SparsePauliOp.simplify()`](#qiskit.quantum_info.SparsePauliOp.simplify "qiskit.quantum_info.SparsePauliOp.simplify") would return `1+1e-17j X`. @@ -261,7 +261,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp ### compose - + Return the operator composition with another SparsePauliOp. **Parameters** @@ -291,19 +291,19 @@ python_api_name: qiskit.quantum_info.SparsePauliOp ### conjugate - + Return the conjugate of the SparsePauliOp. ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -326,7 +326,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp ### equiv - + Check if two SparsePauliOp operators are equivalent. **Parameters** @@ -345,7 +345,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp ### expand - + Return the reverse-order tensor product with another SparsePauliOp. **Parameters** @@ -365,7 +365,7 @@ python_api_name: qiskit.quantum_info.SparsePauliOp ### from\_list - + Construct from a list of Pauli strings and coefficients. For example, the 5-qubit Hamiltonian @@ -403,7 +403,7 @@ $$ ### from\_operator - + Construct from an Operator objector. Note that the cost of this construction is exponential in general because the number of possible Pauli terms in the decomposition is exponential in the number of qubits. @@ -431,7 +431,7 @@ $$ ### from\_sparse\_list - + Construct from a list of local Pauli strings and coefficients. Each list element is a 3-tuple of a local Pauli string, indices where to apply it, and a coefficient. @@ -476,7 +476,7 @@ $$ ### group\_commuting - + Partition a SparsePauliOp into sets of commuting Pauli strings. **Parameters** @@ -509,13 +509,13 @@ $$ ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_unitary - + Return True if operator is a unitary matrix. **Parameters** @@ -534,7 +534,7 @@ $$ ### label\_iter - + Return a label representation iterator. This is a lazy iterator that converts each term in the SparsePauliOp into a tuple (label, coeff). To convert the entire table to labels use the `to_labels()` method. @@ -550,7 +550,7 @@ $$ ### matrix\_iter - + Return a matrix representation iterator. This is a lazy iterator that converts each term in the SparsePauliOp into a matrix as it is used. To convert to a single matrix use the [`to_matrix()`](#qiskit.quantum_info.SparsePauliOp.to_matrix "qiskit.quantum_info.SparsePauliOp.to_matrix") method. @@ -570,7 +570,7 @@ $$ ### noncommutation\_graph - + 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. @@ -592,13 +592,13 @@ $$ ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the compose of a operator with itself n times. **Parameters** @@ -620,7 +620,7 @@ $$ ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -644,7 +644,7 @@ $$ ### simplify - + Simplify PauliList by combining duplicates and removing zeros. **Parameters** @@ -663,7 +663,7 @@ $$ ### sort - + Sort the rows of the table. After sorting the coefficients using numpy’s argsort, sort by Pauli. Pauli sort takes precedence. If Pauli is the same, it will be sorted by coefficient. By using the weight kwarg the output can additionally be sorted by the number of non-identity terms in the Pauli, where the set of all Pauli’s of a given weight are still ordered lexicographically. @@ -734,7 +734,7 @@ $$ ### sum - + Sum of SparsePauliOps. This is a specialized version of the builtin `sum` function for SparsePauliOp with smaller overhead. @@ -760,7 +760,7 @@ $$ ### tensor - + Return the tensor product with another SparsePauliOp. **Parameters** @@ -784,7 +784,7 @@ $$ ### to\_list - + Convert to a list Pauli string labels and coefficients. For operators with a lot of terms converting using the `array=True` kwarg will be more efficient since it allocates memory for the full Numpy array of labels in advance. @@ -804,7 +804,7 @@ $$ ### to\_matrix - + Convert to a dense or sparse matrix. **Parameters** @@ -822,7 +822,7 @@ $$ ### to\_operator - + Convert to a matrix Operator object **Return type** @@ -832,7 +832,7 @@ $$ ### transpose - + Return the transpose of the SparsePauliOp. diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.StabilizerState.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.StabilizerState.mdx index 79f00b0278f..6d003a3768d 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.StabilizerState.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.StabilizerState.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.StabilizerState # StabilizerState - + Bases: `QuantumState` StabilizerState class. Stabilizer simulator using the convention from reference \[1]. Based on the internal class [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford"). @@ -83,25 +83,25 @@ python_api_name: qiskit.quantum_info.StabilizerState ### conjugate - + Return the conjugate of the operator. ### copy - + Make a copy of current operator. ### dims - + Return tuple of input dimension for specified subsystems. ### equiv - + Return True if the two generating sets generate the same stabilizer group. **Parameters** @@ -119,7 +119,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### evolve - + Evolve a stabilizer state by a Clifford operator. **Parameters** @@ -143,7 +143,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### expand - + Return the tensor product stabilizer state other ⊗ self. **Parameters** @@ -165,7 +165,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### expectation\_value - + Compute the expectation value of a Pauli operator. **Parameters** @@ -188,7 +188,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### from\_stabilizer\_list - + Create a stabilizer state from the collection of stabilizers. **Parameters** @@ -208,13 +208,13 @@ python_api_name: qiskit.quantum_info.StabilizerState ### is\_valid - + Return True if a valid StabilizerState. ### measure - + Measure subsystems and return outcome and post-measure state. Note that this function uses the QuantumStates internal random number generator for sampling the measurement outcome. The RNG seed can be set using the [`seed()`](#qiskit.quantum_info.StabilizerState.seed "qiskit.quantum_info.StabilizerState.seed") method. @@ -236,7 +236,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### probabilities - + Return the subsystem measurement probability vector. Measurement probabilities are with respect to measurement in the computation (diagonal) basis. @@ -257,7 +257,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### probabilities\_dict - + Return the subsystem measurement probability dictionary. Measurement probabilities are with respect to measurement in the computation (diagonal) basis. @@ -280,7 +280,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### purity - + Return the purity of the quantum state, which equals to 1, since it is always a pure state. **Returns** @@ -298,7 +298,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### reset - + Reset state or subsystems to the 0-state. **Parameters** @@ -320,7 +320,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### sample\_counts - + Sample a dict of qubit measurement outcomes in the computational basis. **Parameters** @@ -345,7 +345,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### sample\_memory - + Sample a list of qubit measurement outcomes in the computational basis. **Parameters** @@ -370,13 +370,13 @@ python_api_name: qiskit.quantum_info.StabilizerState ### seed - + Set the seed for the quantum state RNG. ### tensor - + Return the tensor product stabilizer state self ⊗ other. **Parameters** @@ -398,7 +398,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### to\_operator - + Convert state to matrix operator class **Return type** @@ -408,7 +408,7 @@ python_api_name: qiskit.quantum_info.StabilizerState ### trace - + Return the trace of the stabilizer state as a density matrix, which equals to 1, since it is always a pure state. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.Statevector.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.Statevector.mdx index 7ffe0734bba..6a8f599073c 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.Statevector.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.Statevector.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Statevector # Statevector - + Bases: `QuantumState`, `TolerancesMixin` Statevector class @@ -69,7 +69,7 @@ python_api_name: qiskit.quantum_info.Statevector ### conjugate - + Return the conjugate of the operator. **Return type** @@ -79,19 +79,19 @@ python_api_name: qiskit.quantum_info.Statevector ### copy - + Make a copy of current operator. ### dims - + Return tuple of input dimension for specified subsystems. ### draw - + Return a visualization of the Statevector. **repr**: ASCII TextMatrix of the state’s `__repr__`. @@ -141,7 +141,7 @@ python_api_name: qiskit.quantum_info.Statevector ### equiv - + Return True if other is equivalent as a statevector up to global phase. @@ -165,7 +165,7 @@ python_api_name: qiskit.quantum_info.Statevector ### evolve - + Evolve a quantum state by the operator. **Parameters** @@ -188,7 +188,7 @@ python_api_name: qiskit.quantum_info.Statevector ### expand - + Return the tensor product state other ⊗ self. **Parameters** @@ -210,7 +210,7 @@ python_api_name: qiskit.quantum_info.Statevector ### expectation\_value - + Compute the expectation value of an operator. **Parameters** @@ -229,7 +229,7 @@ python_api_name: qiskit.quantum_info.Statevector ### from\_instruction - + Return the output statevector of an instruction. The statevector is initialized in the state $|{0,\ldots,0}\rangle$ of the same number of qubits as the input instruction or circuit, evolved by the input instruction, and the output statevector returned. @@ -253,7 +253,7 @@ python_api_name: qiskit.quantum_info.Statevector ### from\_int - + Return a computational basis statevector. **Parameters** @@ -279,7 +279,7 @@ python_api_name: qiskit.quantum_info.Statevector ### from\_label - + Return a tensor product of Pauli X,Y,Z eigenstates. | Label | Statevector | @@ -310,7 +310,7 @@ python_api_name: qiskit.quantum_info.Statevector ### inner - + Return the inner product of self and other as $\langle self| other \rangle$. **Parameters** @@ -332,7 +332,7 @@ python_api_name: qiskit.quantum_info.Statevector ### is\_valid - + Return True if a Statevector has norm 1. **Return type** @@ -342,7 +342,7 @@ python_api_name: qiskit.quantum_info.Statevector ### measure - + Measure subsystems and return outcome and post-measure state. Note that this function uses the QuantumStates internal random number generator for sampling the measurement outcome. The RNG seed can be set using the [`seed()`](#qiskit.quantum_info.Statevector.seed "qiskit.quantum_info.Statevector.seed") method. @@ -364,7 +364,7 @@ python_api_name: qiskit.quantum_info.Statevector ### probabilities - + Return the subsystem measurement probability vector. Measurement probabilities are with respect to measurement in the computation (diagonal) basis. @@ -435,7 +435,7 @@ python_api_name: qiskit.quantum_info.Statevector ### probabilities\_dict - + Return the subsystem measurement probability dictionary. Measurement probabilities are with respect to measurement in the computation (diagonal) basis. @@ -458,7 +458,7 @@ python_api_name: qiskit.quantum_info.Statevector ### purity - + Return the purity of the quantum state. **Return type** @@ -468,7 +468,7 @@ python_api_name: qiskit.quantum_info.Statevector ### reset - + Reset state or subsystems to the 0-state. **Parameters** @@ -490,7 +490,7 @@ python_api_name: qiskit.quantum_info.Statevector ### reverse\_qargs - + Return a Statevector with reversed subsystem ordering. For a tensor product state this is equivalent to reversing the order of tensor product subsystems. For a statevector $|\psi \rangle = |\psi_{n-1} \rangle \otimes ... \otimes |\psi_0 \rangle$ the returned statevector will be $|\psi_{0} \rangle \otimes ... \otimes |\psi_{n-1} \rangle$. @@ -506,7 +506,7 @@ python_api_name: qiskit.quantum_info.Statevector ### sample\_counts - + Sample a dict of qubit measurement outcomes in the computational basis. **Parameters** @@ -531,7 +531,7 @@ python_api_name: qiskit.quantum_info.Statevector ### sample\_memory - + Sample a list of qubit measurement outcomes in the computational basis. **Parameters** @@ -556,13 +556,13 @@ python_api_name: qiskit.quantum_info.Statevector ### seed - + Set the seed for the quantum state RNG. ### tensor - + Return the tensor product state self ⊗ other. **Parameters** @@ -584,7 +584,7 @@ python_api_name: qiskit.quantum_info.Statevector ### to\_dict - + Convert the statevector to dictionary form. This dictionary representation uses a Ket-like notation where the dictionary keys are qudit strings for the subsystem basis vectors. If any subsystem has a dimension greater than 10 comma delimiters are inserted between integers so that subsystems can be distinguished. @@ -653,7 +653,7 @@ python_api_name: qiskit.quantum_info.Statevector ### to\_operator - + Convert state to a rank-1 projector operator **Return type** @@ -663,7 +663,7 @@ python_api_name: qiskit.quantum_info.Statevector ### trace - + Return the trace of the quantum state as a density matrix. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.Stinespring.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.Stinespring.mdx index 742f35dcad6..2dc61cae3d4 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.Stinespring.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.Stinespring.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Stinespring # Stinespring - + Bases: `QuantumChannel` Stinespring representation of a quantum channel. @@ -91,7 +91,7 @@ $$ ### adjoint - + Return the adjoint quantum channel. @@ -105,7 +105,7 @@ $$ ### compose - + Return the operator composition with another Stinespring. **Parameters** @@ -135,7 +135,7 @@ $$ ### conjugate - + Return the conjugate quantum channel. @@ -145,13 +145,13 @@ $$ ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -174,7 +174,7 @@ $$ ### expand - + Return the reverse-order tensor product with another Stinespring. **Parameters** @@ -194,13 +194,13 @@ $$ ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_cp - + Test if Choi-matrix is completely-positive (CP) **Return type** @@ -210,13 +210,13 @@ $$ ### is\_cptp - + Return True if completely-positive trace-preserving. ### is\_tp - + Test if a channel is trace-preserving (TP) **Return type** @@ -226,7 +226,7 @@ $$ ### is\_unitary - + Return True if QuantumChannel is a unitary channel. **Return type** @@ -236,13 +236,13 @@ $$ ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the power of the quantum channel. **Parameters** @@ -268,7 +268,7 @@ $$ ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -292,7 +292,7 @@ $$ ### tensor - + Return the tensor product with another Stinespring. **Parameters** @@ -316,7 +316,7 @@ $$ ### to\_instruction - + Convert to a Kraus or UnitaryGate circuit instruction. If the channel is unitary it will be added as a unitary gate, otherwise it will be added as a kraus simulator instruction. @@ -336,7 +336,7 @@ $$ ### to\_operator - + Try to convert channel to a unitary representation Operator. **Return type** @@ -346,7 +346,7 @@ $$ ### transpose - + Return the transpose quantum channel. diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.SuperOp.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.SuperOp.mdx index b16f870b19f..c968e146824 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.SuperOp.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.SuperOp.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.SuperOp # SuperOp - + Bases: `QuantumChannel` Superoperator representation of a quantum channel. @@ -87,7 +87,7 @@ $$ ### adjoint - + Return the adjoint quantum channel. @@ -97,7 +97,7 @@ $$ ### compose - + Return the operator composition with another SuperOp. **Parameters** @@ -127,7 +127,7 @@ $$ ### conjugate - + Return the conjugate quantum channel. @@ -137,13 +137,13 @@ $$ ### copy - + Make a deep copy of current operator. ### dot - + Return the right multiplied operator self \* other. **Parameters** @@ -166,7 +166,7 @@ $$ ### expand - + Return the reverse-order tensor product with another SuperOp. **Parameters** @@ -186,13 +186,13 @@ $$ ### input\_dims - + Return tuple of input dimension for specified subsystems. ### is\_cp - + Test if Choi-matrix is completely-positive (CP) **Return type** @@ -202,7 +202,7 @@ $$ ### is\_cptp - + Return True if completely-positive trace-preserving (CPTP). **Return type** @@ -212,7 +212,7 @@ $$ ### is\_tp - + Test if a channel is trace-preserving (TP) **Return type** @@ -222,7 +222,7 @@ $$ ### is\_unitary - + Return True if QuantumChannel is a unitary channel. **Return type** @@ -232,13 +232,13 @@ $$ ### output\_dims - + Return tuple of output dimension for specified subsystems. ### power - + Return the power of the quantum channel. **Parameters** @@ -264,7 +264,7 @@ $$ ### reshape - + Return a shallow copy with reshaped input and output subsystem dimensions. **Parameters** @@ -288,7 +288,7 @@ $$ ### tensor - + Return the tensor product with another SuperOp. **Parameters** @@ -312,7 +312,7 @@ $$ ### to\_instruction - + Convert to a Kraus or UnitaryGate circuit instruction. If the channel is unitary it will be added as a unitary gate, otherwise it will be added as a kraus simulator instruction. @@ -332,7 +332,7 @@ $$ ### to\_operator - + Try to convert channel to a unitary representation Operator. **Return type** @@ -342,7 +342,7 @@ $$ ### transpose - + Return the transpose quantum channel. diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.Z2Symmetries.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.Z2Symmetries.mdx index f99686e2825..90f074a603b 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.Z2Symmetries.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.Z2Symmetries.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.quantum_info.Z2Symmetries # Z2Symmetries - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") The \$Z\_2\$ symmetry converter identifies symmetries from the problem hamiltonian and uses them to provide a tapered - more efficient - representation of operators as Paulis for this problem. For each identified symmetry, one qubit can be eliminated in the Pauli representation at the cost of having to test two symmetry sectors (for the two possible eigenvalues - tapering values - of the symmetry). In certain problems such as the finding of the main operator’s ground state, one can a priori identify the symmetry sector of the solution and thus effectively reduce the computational overhead. @@ -93,7 +93,7 @@ python_api_name: qiskit.quantum_info.Z2Symmetries ### convert\_clifford - + This method operates the first part of the tapering. It converts the operator by composing it with the clifford unitaries defined in the current symmetry. **Parameters** @@ -111,7 +111,7 @@ python_api_name: qiskit.quantum_info.Z2Symmetries ### find\_z2\_symmetries - + Finds Z2 Pauli-type symmetries of a [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp"). **Returns** @@ -125,7 +125,7 @@ python_api_name: qiskit.quantum_info.Z2Symmetries ### is\_empty - + Check the z2\_symmetries is empty or not. **Returns** @@ -139,7 +139,7 @@ python_api_name: qiskit.quantum_info.Z2Symmetries ### taper - + Taper an operator based on the z2\_symmetries info and sector defined by tapering\_values. Returns operator if the symmetry object is empty. The tapering is a two-step algorithm which first converts the operator into a [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp") with same eigenvalues but where some qubits are only acted upon with the Pauli operators I or X. The number M of these redundant qubits is equal to the number M of identified symmetries. @@ -161,7 +161,7 @@ python_api_name: qiskit.quantum_info.Z2Symmetries ### taper\_clifford - + Operate the second part of the tapering. This function assumes that the input operators have already been transformed using [`convert_clifford()`](#qiskit.quantum_info.Z2Symmetries.convert_clifford "qiskit.quantum_info.Z2Symmetries.convert_clifford"). The redundant qubits due to the symmetries are dropped and replaced by their two possible eigenvalues. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.pauli_basis.mdx b/docs/api/qiskit/dev/qiskit.quantum_info.pauli_basis.mdx index beff067e5b2..2ab5d2d3a33 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.pauli_basis.mdx +++ b/docs/api/qiskit/dev/qiskit.quantum_info.pauli_basis.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.quantum_info.pauli_basis # qiskit.quantum\_info.pauli\_basis - + Return the ordered PauliList for the n-qubit Pauli basis. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.result.BaseReadoutMitigator.mdx b/docs/api/qiskit/dev/qiskit.result.BaseReadoutMitigator.mdx index a82eb442825..b92e6c70b37 100644 --- a/docs/api/qiskit/dev/qiskit.result.BaseReadoutMitigator.mdx +++ b/docs/api/qiskit/dev/qiskit.result.BaseReadoutMitigator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.result.BaseReadoutMitigator # BaseReadoutMitigator - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Base readout error mitigator class. @@ -17,7 +17,7 @@ python_api_name: qiskit.result.BaseReadoutMitigator ### expectation\_value - + Calculate the expectation value of a diagonal Hermitian operator. **Parameters** @@ -39,7 +39,7 @@ python_api_name: qiskit.result.BaseReadoutMitigator ### quasi\_probabilities - + Convert counts to a dictionary of quasi-probabilities **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.result.CorrelatedReadoutMitigator.mdx b/docs/api/qiskit/dev/qiskit.result.CorrelatedReadoutMitigator.mdx index 019a69c3892..667c03d6fd5 100644 --- a/docs/api/qiskit/dev/qiskit.result.CorrelatedReadoutMitigator.mdx +++ b/docs/api/qiskit/dev/qiskit.result.CorrelatedReadoutMitigator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator # CorrelatedReadoutMitigator - + Bases: [`BaseReadoutMitigator`](qiskit.result.BaseReadoutMitigator "qiskit.result.mitigation.base_readout_mitigator.BaseReadoutMitigator") N-qubit readout error mitigator. @@ -44,7 +44,7 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator ### assignment\_matrix - + Return the readout assignment matrix for specified qubits. The assignment matrix is the stochastic matrix $A$ which assigns a noisy readout probability distribution to an ideal input readout distribution: $P(i|j) = \langle i | A | j \rangle$. @@ -64,7 +64,7 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator ### expectation\_value - + Compute the mitigated expectation value of a diagonal observable. This computes the mitigated estimator of $\langle O \rangle = \mbox{Tr}[\rho. O]$ of a diagonal observable $O = \sum_{x\in\{0, 1\}^n} O(x)|x\rangle\!\langle x|$. @@ -92,7 +92,7 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator ### mitigation\_matrix - + Return the readout mitigation matrix for the specified qubits. The mitigation matrix $A^{-1}$ is defined as the inverse of the [`assignment_matrix()`](#qiskit.result.CorrelatedReadoutMitigator.assignment_matrix "qiskit.result.CorrelatedReadoutMitigator.assignment_matrix") $A$. @@ -112,7 +112,7 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator ### quasi\_probabilities - + Compute mitigated quasi probabilities value. **Parameters** @@ -135,7 +135,7 @@ python_api_name: qiskit.result.CorrelatedReadoutMitigator ### stddev\_upper\_bound - + Return an upper bound on standard deviation of expval estimator. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.result.Counts.mdx b/docs/api/qiskit/dev/qiskit.result.Counts.mdx index 3e1ee47a961..3fa3539dedf 100644 --- a/docs/api/qiskit/dev/qiskit.result.Counts.mdx +++ b/docs/api/qiskit/dev/qiskit.result.Counts.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.result.Counts # Counts - + Bases: [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") A class to store a counts result from a circuit execution. @@ -67,7 +67,7 @@ python_api_name: qiskit.result.Counts ### hex\_outcomes - + Return a counts dictionary with hexadecimal string keys **Returns** @@ -87,7 +87,7 @@ python_api_name: qiskit.result.Counts ### int\_outcomes - + Build a counts dictionary with integer keys instead of count strings **Returns** @@ -113,7 +113,7 @@ python_api_name: qiskit.result.Counts ### most\_frequent - + Return the most frequent count **Returns** @@ -153,7 +153,7 @@ python_api_name: qiskit.result.Counts ### shots - + Return the number of shots diff --git a/docs/api/qiskit/dev/qiskit.result.LocalReadoutMitigator.mdx b/docs/api/qiskit/dev/qiskit.result.LocalReadoutMitigator.mdx index 12914a208b5..1db7f3eea14 100644 --- a/docs/api/qiskit/dev/qiskit.result.LocalReadoutMitigator.mdx +++ b/docs/api/qiskit/dev/qiskit.result.LocalReadoutMitigator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.result.LocalReadoutMitigator # LocalReadoutMitigator - + Bases: [`BaseReadoutMitigator`](qiskit.result.BaseReadoutMitigator "qiskit.result.mitigation.base_readout_mitigator.BaseReadoutMitigator") 1-qubit tensor product readout error mitigator. @@ -45,7 +45,7 @@ python_api_name: qiskit.result.LocalReadoutMitigator ### assignment\_matrix - + Return the measurement assignment matrix for specified qubits. The assignment matrix is the stochastic matrix $A$ which assigns a noisy measurement probability distribution to an ideal input measurement distribution: $P(i|j) = \langle i | A | j \rangle$. @@ -65,7 +65,7 @@ python_api_name: qiskit.result.LocalReadoutMitigator ### expectation\_value - + Compute the mitigated expectation value of a diagonal observable. This computes the mitigated estimator of $\langle O \rangle = \mbox{Tr}[\rho. O]$ of a diagonal observable $O = \sum_{x\in\{0, 1\}^n} O(x)|x\rangle\!\langle x|$. @@ -93,7 +93,7 @@ python_api_name: qiskit.result.LocalReadoutMitigator ### mitigation\_matrix - + Return the measurement mitigation matrix for the specified qubits. The mitigation matrix $A^{-1}$ is defined as the inverse of the [`assignment_matrix()`](#qiskit.result.LocalReadoutMitigator.assignment_matrix "qiskit.result.LocalReadoutMitigator.assignment_matrix") $A$. @@ -113,7 +113,7 @@ python_api_name: qiskit.result.LocalReadoutMitigator ### quasi\_probabilities - + Compute mitigated quasi probabilities value. **Parameters** @@ -140,7 +140,7 @@ python_api_name: qiskit.result.LocalReadoutMitigator ### stddev\_upper\_bound - + Return an upper bound on standard deviation of expval estimator. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.result.ProbDistribution.mdx b/docs/api/qiskit/dev/qiskit.result.ProbDistribution.mdx index 99e4d5bfc9e..aa25dd726d8 100644 --- a/docs/api/qiskit/dev/qiskit.result.ProbDistribution.mdx +++ b/docs/api/qiskit/dev/qiskit.result.ProbDistribution.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.result.ProbDistribution # ProbDistribution - + Bases: [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") A generic dict-like class for probability distributions. @@ -36,7 +36,7 @@ python_api_name: qiskit.result.ProbDistribution ### binary\_probabilities - + Build a probabilities dictionary with binary string keys **Parameters** @@ -76,7 +76,7 @@ python_api_name: qiskit.result.ProbDistribution ### hex\_probabilities - + Build a probabilities dictionary with hexadecimal string keys **Returns** diff --git a/docs/api/qiskit/dev/qiskit.result.QuasiDistribution.mdx b/docs/api/qiskit/dev/qiskit.result.QuasiDistribution.mdx index 13d6ead50e7..21df045d1f9 100644 --- a/docs/api/qiskit/dev/qiskit.result.QuasiDistribution.mdx +++ b/docs/api/qiskit/dev/qiskit.result.QuasiDistribution.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.result.QuasiDistribution # QuasiDistribution - + Bases: [`dict`](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") A dict-like class for representing quasi-probabilities. @@ -50,7 +50,7 @@ python_api_name: qiskit.result.QuasiDistribution ### binary\_probabilities - + Build a quasi-probabilities dictionary with binary string keys **Parameters** @@ -90,7 +90,7 @@ python_api_name: qiskit.result.QuasiDistribution ### hex\_probabilities - + Build a quasi-probabilities dictionary with hexadecimal string keys **Returns** @@ -114,7 +114,7 @@ python_api_name: qiskit.result.QuasiDistribution ### nearest\_probability\_distribution - + Takes a quasiprobability distribution and maps it to the closest probability distribution as defined by the L2-norm. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.result.Result.mdx b/docs/api/qiskit/dev/qiskit.result.Result.mdx index 733979112b4..17a57a77042 100644 --- a/docs/api/qiskit/dev/qiskit.result.Result.mdx +++ b/docs/api/qiskit/dev/qiskit.result.Result.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.result.Result # Result - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Model for Results. @@ -77,7 +77,7 @@ python_api_name: qiskit.result.Result ### data - + Get the raw data for an experiment. Note this data will be a single classical and quantum register and in a format required by the results schema. We recommend that most users use the get\_xxx method, and the data will be post-processed for the data type. @@ -109,7 +109,7 @@ python_api_name: qiskit.result.Result ### from\_dict - + Create a new ExperimentResultData object from a dictionary. **Parameters** @@ -127,7 +127,7 @@ python_api_name: qiskit.result.Result ### get\_counts - + Get the histogram data of an experiment. **Parameters** @@ -149,7 +149,7 @@ python_api_name: qiskit.result.Result ### get\_memory - + Get the sequence of memory states (readouts) for each shot The data from the experiment is a list of format \[‘00000’, ‘01000’, ‘10100’, ‘10100’, ‘11101’, ‘11100’, ‘00101’, …, ‘01010’] **Parameters** @@ -179,7 +179,7 @@ python_api_name: qiskit.result.Result ### get\_statevector - + Get the final statevector of an experiment. **Parameters** @@ -202,7 +202,7 @@ python_api_name: qiskit.result.Result ### get\_unitary - + Get the final unitary of an experiment. **Parameters** @@ -227,7 +227,7 @@ python_api_name: qiskit.result.Result ### to\_dict - + Return a dictionary format representation of the Result **Returns** diff --git a/docs/api/qiskit/dev/qiskit.result.ResultError.mdx b/docs/api/qiskit/dev/qiskit.result.ResultError.mdx index cf002e8a295..ce78179ff0d 100644 --- a/docs/api/qiskit/dev/qiskit.result.ResultError.mdx +++ b/docs/api/qiskit/dev/qiskit.result.ResultError.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.result.ResultError # qiskit.result.ResultError - + Exceptions raised due to errors in result output. It may be better for the Qiskit API to raise this exception. diff --git a/docs/api/qiskit/dev/qiskit.synthesis.EvolutionSynthesis.mdx b/docs/api/qiskit/dev/qiskit.synthesis.EvolutionSynthesis.mdx index 7878b31c9b5..afaa7680832 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.EvolutionSynthesis.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.EvolutionSynthesis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.EvolutionSynthesis # EvolutionSynthesis - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Interface for evolution synthesis algorithms. @@ -33,7 +33,7 @@ python_api_name: qiskit.synthesis.EvolutionSynthesis ### synthesize - + Synthesize an `qiskit.circuit.library.PauliEvolutionGate`. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.synthesis.LieTrotter.mdx b/docs/api/qiskit/dev/qiskit.synthesis.LieTrotter.mdx index 90b036109b1..9ea78cfdd57 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.LieTrotter.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.LieTrotter.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.LieTrotter # LieTrotter - + Bases: [`ProductFormula`](qiskit.synthesis.ProductFormula "qiskit.synthesis.evolution.product_formula.ProductFormula") The Lie-Trotter product formula. @@ -56,7 +56,7 @@ $$ ### synthesize - + Synthesize an `qiskit.circuit.library.PauliEvolutionGate`. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.synthesis.MatrixExponential.mdx b/docs/api/qiskit/dev/qiskit.synthesis.MatrixExponential.mdx index 8348f72f243..a105988fd6b 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.MatrixExponential.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.MatrixExponential.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.MatrixExponential # MatrixExponential - + Bases: [`EvolutionSynthesis`](qiskit.synthesis.EvolutionSynthesis "qiskit.synthesis.evolution.evolution_synthesis.EvolutionSynthesis") Exact operator evolution via matrix exponentiation and unitary synthesis. @@ -35,7 +35,7 @@ python_api_name: qiskit.synthesis.MatrixExponential ### synthesize - + Synthesize an `qiskit.circuit.library.PauliEvolutionGate`. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.synthesis.OneQubitEulerDecomposer.mdx b/docs/api/qiskit/dev/qiskit.synthesis.OneQubitEulerDecomposer.mdx index c29f1429564..b23a87c159a 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.OneQubitEulerDecomposer.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.OneQubitEulerDecomposer.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.OneQubitEulerDecomposer # OneQubitEulerDecomposer - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A class for decomposing 1-qubit unitaries into Euler angle rotations. @@ -32,7 +32,7 @@ python_api_name: qiskit.synthesis.OneQubitEulerDecomposer ### \_\_call\_\_ - + Decompose single qubit gate into a circuit. **Parameters** @@ -79,7 +79,7 @@ python_api_name: qiskit.synthesis.OneQubitEulerDecomposer ### angles - + Return the Euler angles for input array. **Parameters** @@ -97,7 +97,7 @@ python_api_name: qiskit.synthesis.OneQubitEulerDecomposer ### angles\_and\_phase - + Return the Euler angles and phase for input array. **Parameters** @@ -115,7 +115,7 @@ python_api_name: qiskit.synthesis.OneQubitEulerDecomposer ### build\_circuit - + Return the circuit or dag object from a list of gates. diff --git a/docs/api/qiskit/dev/qiskit.synthesis.ProductFormula.mdx b/docs/api/qiskit/dev/qiskit.synthesis.ProductFormula.mdx index 96ee95b4f7c..23b52bba334 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.ProductFormula.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.ProductFormula.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.ProductFormula # ProductFormula - + Bases: [`EvolutionSynthesis`](qiskit.synthesis.EvolutionSynthesis "qiskit.synthesis.evolution.evolution_synthesis.EvolutionSynthesis") Product formula base class for the decomposition of non-commuting operator exponentials. @@ -43,7 +43,7 @@ python_api_name: qiskit.synthesis.ProductFormula ### synthesize - + Synthesize an `qiskit.circuit.library.PauliEvolutionGate`. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.synthesis.QDrift.mdx b/docs/api/qiskit/dev/qiskit.synthesis.QDrift.mdx index 12b393f4996..32cd18dfc38 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.QDrift.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.QDrift.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.QDrift # QDrift - + Bases: [`ProductFormula`](qiskit.synthesis.ProductFormula "qiskit.synthesis.evolution.product_formula.ProductFormula") The QDrift Trotterization method, which selects each each term in the Trotterization randomly, with a probability proportional to its weight. Based on the work of Earl Campbell in Ref. \[1]. @@ -45,7 +45,7 @@ python_api_name: qiskit.synthesis.QDrift ### synthesize - + Synthesize an `qiskit.circuit.library.PauliEvolutionGate`. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.synthesis.SolovayKitaevDecomposition.mdx b/docs/api/qiskit/dev/qiskit.synthesis.SolovayKitaevDecomposition.mdx index b95058c77b4..383d9cef94e 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.SolovayKitaevDecomposition.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.SolovayKitaevDecomposition.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.SolovayKitaevDecomposition # SolovayKitaevDecomposition - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") The Solovay Kitaev discrete decomposition algorithm. @@ -23,7 +23,7 @@ python_api_name: qiskit.synthesis.SolovayKitaevDecomposition ### find\_basic\_approximation - + Finds gate in `self._basic_approximations` that best represents `sequence`. **Parameters** @@ -41,7 +41,7 @@ python_api_name: qiskit.synthesis.SolovayKitaevDecomposition ### load\_basic\_approximations - + Load basic approximations. **Parameters** @@ -63,7 +63,7 @@ python_api_name: qiskit.synthesis.SolovayKitaevDecomposition ### run - + Run the algorithm. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.synthesis.SuzukiTrotter.mdx b/docs/api/qiskit/dev/qiskit.synthesis.SuzukiTrotter.mdx index b8ed103517f..cf1e07e2919 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.SuzukiTrotter.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.SuzukiTrotter.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.SuzukiTrotter # SuzukiTrotter - + Bases: [`ProductFormula`](qiskit.synthesis.ProductFormula "qiskit.synthesis.evolution.product_formula.ProductFormula") The (higher order) Suzuki-Trotter product formula. @@ -63,7 +63,7 @@ $$ ### synthesize - + Synthesize an `qiskit.circuit.library.PauliEvolutionGate`. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.synthesis.TwoQubitBasisDecomposer.mdx b/docs/api/qiskit/dev/qiskit.synthesis.TwoQubitBasisDecomposer.mdx index 4955775133c..071dabb7bce 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.TwoQubitBasisDecomposer.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.TwoQubitBasisDecomposer.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.TwoQubitBasisDecomposer # TwoQubitBasisDecomposer - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qubit basis gate. @@ -22,7 +22,7 @@ python_api_name: qiskit.synthesis.TwoQubitBasisDecomposer ### \_\_call\_\_ - + 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** @@ -49,7 +49,7 @@ python_api_name: qiskit.synthesis.TwoQubitBasisDecomposer ### decomp0 - + Decompose target $\sim U_d(x, y, z)$ with $0$ uses of the basis gate. Result $U_r$ has trace: $$ @@ -62,7 +62,7 @@ $$ ### decomp1 - + 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: $$ @@ -75,7 +75,7 @@ $$ ### decomp2\_supercontrolled - + Decompose target $\sim U_d(x, y, z)$ with $2$ uses of the basis gate. For supercontrolled basis $\sim U_d(\pi/4, b, 0)$, all b, result $U_r$ has trace @@ -89,19 +89,19 @@ $$ ### decomp3\_supercontrolled - + 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 - + Computes the number of basis gates needed in a decomposition of input unitary ### traces - + 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.mdx b/docs/api/qiskit/dev/qiskit.synthesis.TwoQubitWeylDecomposition.mdx index 228716a086c..52014208459 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.TwoQubitWeylDecomposition.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.TwoQubitWeylDecomposition.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.TwoQubitWeylDecomposition # TwoQubitWeylDecomposition - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Two-qubit Weyl decomposition. @@ -32,9 +32,7 @@ $$ \pi /4 \geq a \geq b \geq |c| $$ - This is an abstract factory class that instantiates itself as specialized subclasses based on the fidelity, such that the approximation error from specialization has an average gate fidelity at least as high as requested. The specialized subclasses have unique canonical representations thus avoiding problems of numerical stability. - - Passing non-None fidelity to specializations is treated as an assertion, raising QiskitError if forcing the specialization is more approximate than asserted. + This class avoids some problems of numerical instability near high-symmetry loci within the Weyl chamber. If there is a high-symmetry gate “nearby” (in terms of the requested average gate fidelity), then it return a canonicalized decomposition of that high-symmetry gate. **References** @@ -42,11 +40,6 @@ $$ 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) - **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 ### a @@ -97,7 +90,7 @@ $$ ### actual\_fidelity - + Calculates the actual fidelity of the decomposed circuit to the input unitary. **Return type** @@ -107,7 +100,7 @@ $$ ### circuit - + Returns Weyl decomposition in circuit form. **Return type** @@ -117,18 +110,24 @@ $$ ### from\_bytes - + Decode bytes into [`TwoQubitWeylDecomposition`](#qiskit.synthesis.TwoQubitWeylDecomposition "qiskit.synthesis.TwoQubitWeylDecomposition"). **Return type** - [*TwoQubitWeylDecomposition*](#qiskit.synthesis.TwoQubitWeylDecomposition "qiskit.synthesis.two_qubit.two_qubit_decompose.TwoQubitWeylDecomposition") + [TwoQubitWeylDecomposition](#qiskit.synthesis.TwoQubitWeylDecomposition "qiskit.synthesis.TwoQubitWeylDecomposition") ### specialize - - Make changes to the decomposition to comply with any specialization. + + Make changes to the decomposition to comply with any specializations. + + This method will always raise a `NotImplementedError` because there are no specializations to comply with in the current implementation. + + + The method `qiskit.synthesis.two_qubit.two_qubit_decompose.TwoQubitWeylDecomposition.specialize()` is deprecated as of qiskit 1.1.0. It will be removed in the 2.0.0 release. + diff --git a/docs/api/qiskit/dev/qiskit.synthesis.XXDecomposer.mdx b/docs/api/qiskit/dev/qiskit.synthesis.XXDecomposer.mdx index efbc9283293..22412548718 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.XXDecomposer.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.XXDecomposer.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.XXDecomposer # 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$). @@ -26,7 +26,7 @@ python_api_name: qiskit.synthesis.XXDecomposer ### \_\_call\_\_ - + 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** @@ -48,7 +48,7 @@ python_api_name: qiskit.synthesis.XXDecomposer ### num\_basis\_gates - + Counts the number of gates that would be emitted during re-synthesis. diff --git a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.AQC.mdx b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.AQC.mdx index aa997b8453c..bb091c83dc8 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.AQC.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.AQC.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.AQC # AQC - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A generic implementation of the Approximate Quantum Compiler. This implementation is agnostic of the underlying implementation of the approximate circuit, objective, and optimizer. Users may pass corresponding implementations of the abstract classes: @@ -27,7 +27,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.AQC ### compile\_unitary - + Approximately compiles a circuit represented as a unitary matrix by solving an optimization problem defined by `approximating_objective` and using `approximate_circuit` as a template for the approximate circuit. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.ApproximateCircuit.mdx b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.ApproximateCircuit.mdx index d6eeaf79a85..38a9da90d94 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.ApproximateCircuit.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.ApproximateCircuit.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.ApproximateCircuit # ApproximateCircuit - + Bases: [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") A base class that represents an approximate circuit. @@ -91,7 +91,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.ApproximateCircuit ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -105,7 +105,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.ApproximateCircuit ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -113,7 +113,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.ApproximateCircuit ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -133,7 +133,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.ApproximateCircuit ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. @@ -236,7 +236,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.ApproximateCircuit ### build - + **Constructs this circuit out of the parameters(thetas). Parameter values must be set before** constructing the circuit. diff --git a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.ApproximatingObjective.mdx b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.ApproximatingObjective.mdx index b9023a7e1b1..397da3145c8 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.ApproximatingObjective.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.ApproximatingObjective.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.ApproximatingObjective # ApproximatingObjective - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") A base class for an optimization problem definition. An implementing class must provide at least an implementation of the `objective` method. In such case only gradient free optimizers can be used. Both method, `objective` and `gradient`, preferable to have in an implementation. @@ -31,7 +31,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.ApproximatingObjective ### gradient - + Computes a gradient with respect to parameters given a vector of parameter values. **Parameters** @@ -49,7 +49,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.ApproximatingObjective ### objective - + Computes a value of the objective function given a vector of parameter values. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.mdx b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.mdx index 7151738d4f5..7376b370078 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.CNOTUnitCircuit # CNOTUnitCircuit - + Bases: [`ApproximateCircuit`](qiskit.synthesis.unitary.aqc.ApproximateCircuit "qiskit.synthesis.unitary.aqc.approximate.ApproximateCircuit") A class that represents an approximate circuit based on CNOT unit blocks. @@ -97,7 +97,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.CNOTUnitCircuit ### num\_captured\_vars - The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + The number of real-time 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. @@ -111,7 +111,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.CNOTUnitCircuit ### num\_declared\_vars - The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + The number of real-time 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. @@ -119,7 +119,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.CNOTUnitCircuit ### num\_input\_vars - The number of runtime classical variables in the circuit marked as circuit inputs. + The number of real-time 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. @@ -139,7 +139,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.CNOTUnitCircuit ### num\_vars - The number of runtime classical variables in the circuit. + The number of real-time classical variables in the circuit. This is the length of the `iter_vars()` iterable. @@ -242,7 +242,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.CNOTUnitCircuit ### build - + **Constructs a Qiskit quantum circuit out of the parameters (angles) of this circuit. If a** parameter value is less in absolute value than the specified tolerance then the corresponding rotation gate will be skipped in the circuit. diff --git a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.CNOTUnitObjective.mdx b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.CNOTUnitObjective.mdx index 172f6118112..f004ca2793b 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.CNOTUnitObjective.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.CNOTUnitObjective.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.CNOTUnitObjective # CNOTUnitObjective - + Bases: [`ApproximatingObjective`](qiskit.synthesis.unitary.aqc.ApproximatingObjective "qiskit.synthesis.unitary.aqc.approximate.ApproximatingObjective"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") A base class for a problem definition based on CNOT unit. This class may have different subclasses for objective and gradient computations. diff --git a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.DefaultCNOTUnitObjective.mdx b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.DefaultCNOTUnitObjective.mdx index 22c02af5990..93c2310f3fa 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.DefaultCNOTUnitObjective.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.DefaultCNOTUnitObjective.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.DefaultCNOTUnitObjective # DefaultCNOTUnitObjective - + Bases: [`CNOTUnitObjective`](qiskit.synthesis.unitary.aqc.CNOTUnitObjective "qiskit.synthesis.unitary.aqc.cnot_unit_objective.CNOTUnitObjective") A naive implementation of the objective function based on CNOT units. @@ -42,7 +42,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.DefaultCNOTUnitObjective ### gradient - + Computes a gradient with respect to parameters given a vector of parameter values. **Parameters** @@ -60,7 +60,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.DefaultCNOTUnitObjective ### objective - + Computes a value of the objective function given a vector of parameter values. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.FastCNOTUnitObjective.mdx b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.FastCNOTUnitObjective.mdx index 075009dcc87..dda7d157286 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.FastCNOTUnitObjective.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.FastCNOTUnitObjective.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.FastCNOTUnitObjective # FastCNOTUnitObjective - + Bases: [`CNOTUnitObjective`](qiskit.synthesis.unitary.aqc.CNOTUnitObjective "qiskit.synthesis.unitary.aqc.cnot_unit_objective.CNOTUnitObjective") Implementation of objective function and gradient calculator, which is similar to `DefaultCNOTUnitObjective` but several times faster. @@ -42,7 +42,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.FastCNOTUnitObjective ### gradient - + Computes the gradient of objective function. See description of the base class method. **Return type** @@ -52,7 +52,7 @@ python_api_name: qiskit.synthesis.unitary.aqc.FastCNOTUnitObjective ### objective - + Computes the objective function and some intermediate data for the subsequent gradient computation. See description of the base class method. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.mdx b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.mdx index b5c63e78ef2..de0e9ea1f72 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.mdx +++ b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.mdx @@ -83,7 +83,7 @@ A basic usage of the AQC algorithm should consist of the following steps: unitary = ... # Define a number of qubits for the algorithm, at least 3 qubits -num_qubits = int(round(np.log2(unitary.shape[0]))) +num_qubits = round(math.log2(unitary.shape[0])) # Choose a layout of the CNOT structure for the approximate circuit, e.g. ``spin`` for # a linear layout. @@ -129,7 +129,7 @@ This uses a helper function, [`make_cnot_network`](#qiskit.synthesis.unitary.aqc ### make\_cnot\_network - + Generates a network consisting of building blocks each containing a CNOT gate and possibly some single-qubit ones. This network models a quantum operator in question. Note, each building block has 2 input and outputs corresponding to a pair of qubits. What we actually return here is a chain of indices of qubit pairs shared by every building block in a row. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.AnalysisPass.mdx b/docs/api/qiskit/dev/qiskit.transpiler.AnalysisPass.mdx index 17546d7751f..16508e0f341 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.AnalysisPass.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.AnalysisPass.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.AnalysisPass # AnalysisPass - + Bases: `BasePass` An analysis pass: change property set, not DAG. @@ -35,7 +35,7 @@ python_api_name: qiskit.transpiler.AnalysisPass ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.AnalysisPass ### name - + Name of the pass. **Return type** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.AnalysisPass ### run - + Run a pass on the DAGCircuit. This is implemented by the pass developer. **Parameters** @@ -79,7 +79,7 @@ python_api_name: qiskit.transpiler.AnalysisPass ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.CouplingMap.mdx b/docs/api/qiskit/dev/qiskit.transpiler.CouplingMap.mdx index 4bffe872d6f..db0c2113e85 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.CouplingMap.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.CouplingMap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.CouplingMap # CouplingMap - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Directed graph specifying fixed coupling. @@ -58,7 +58,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### add\_edge - + Add directed edge to coupling graph. src (int): source physical qubit dst (int): destination physical qubit @@ -66,7 +66,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### add\_physical\_qubit - + Add a physical qubit to the coupling graph as a node. physical\_qubit (int): An integer representing a physical qubit. @@ -78,7 +78,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### compute\_distance\_matrix - + Compute the full distance matrix on pairs of nodes. The distance map self.\_dist\_matrix is computed from the graph using all\_pairs\_shortest\_path\_length. This is normally handled internally by the [`distance_matrix`](#qiskit.transpiler.CouplingMap.distance_matrix "qiskit.transpiler.CouplingMap.distance_matrix") attribute or the [`distance()`](#qiskit.transpiler.CouplingMap.distance "qiskit.transpiler.CouplingMap.distance") method but can be called if you’re accessing the distance matrix outside of those or want to pre-generate it. @@ -86,7 +86,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### connected\_components - + Separate a [`CouplingMap`](#qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") into subgraph [`CouplingMap`](#qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") for each connected component. The connected components of a [`CouplingMap`](#qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") are the subgraphs that are not part of any larger subgraph. For example, if you had a coupling map that looked like: @@ -142,7 +142,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### distance - + Returns the undirected distance between physical\_qubit1 and physical\_qubit2. **Parameters** @@ -165,7 +165,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### draw - + 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)") function from the `rustworkx` package to draw the [`CouplingMap`](#qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") object. @@ -181,7 +181,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### from\_full - + Return a fully connected coupling map on n qubits. **Return type** @@ -191,7 +191,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### from\_grid - + Return a coupling map of qubits connected on a grid of num\_rows x num\_columns. **Return type** @@ -201,7 +201,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### from\_heavy\_hex - + Return a heavy hexagon graph coupling map. A heavy hexagon graph is described in: @@ -224,7 +224,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### from\_heavy\_square - + Return a heavy square graph coupling map. A heavy square graph is described in: @@ -247,7 +247,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### from\_hexagonal\_lattice - + Return a hexagonal lattice graph coupling map. **Parameters** @@ -267,7 +267,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### from\_line - + Return a coupling map of n qubits connected in a line. **Return type** @@ -277,7 +277,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### from\_ring - + Return a coupling map of n qubits connected to each of their neighbors in a ring. **Return type** @@ -287,7 +287,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### get\_edges - + Gets the list of edges in the coupling graph. **Returns** @@ -301,7 +301,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### is\_connected - + Test if the graph is connected. Return True if connected, False otherwise @@ -309,19 +309,19 @@ python_api_name: qiskit.transpiler.CouplingMap ### largest\_connected\_component - + Return a set of qubits in the largest connected component. ### make\_symmetric - + Convert uni-directional edges into bi-directional. ### neighbors - + Return the nearest neighbors of a physical qubit. Directionality matters, i.e. a neighbor must be reachable by going one hop in the direction of an edge. @@ -329,7 +329,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### reduce - + Returns a reduced coupling map that corresponds to the subgraph of qubits selected in the mapping. **Parameters** @@ -352,7 +352,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### shortest\_undirected\_path - + Returns the shortest undirected path between physical\_qubit1 and physical\_qubit2. **Parameters** @@ -375,7 +375,7 @@ python_api_name: qiskit.transpiler.CouplingMap ### size - + Return the number of physical qubits in this graph. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.InstructionDurations.mdx b/docs/api/qiskit/dev/qiskit.transpiler.InstructionDurations.mdx index 1ae4c4bbe05..45aebf0beae 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.InstructionDurations.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.InstructionDurations.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.InstructionDurations # InstructionDurations - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Helper class to provide durations of instructions for scheduling. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.InstructionDurations ### from\_backend - + Construct an [`InstructionDurations`](#qiskit.transpiler.InstructionDurations "qiskit.transpiler.InstructionDurations") object from the backend. **Parameters** @@ -41,7 +41,7 @@ python_api_name: qiskit.transpiler.InstructionDurations ### get - + Get the duration of the instruction with the name, qubits, and parameters. Some instructions may have a parameter dependent duration. @@ -68,7 +68,7 @@ python_api_name: qiskit.transpiler.InstructionDurations ### units\_used - + Get the set of all units used in this instruction durations. **Returns** @@ -82,7 +82,7 @@ python_api_name: qiskit.transpiler.InstructionDurations ### update - + Update self with inst\_durations (inst\_durations overwrite self). **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.InstructionProperties.mdx b/docs/api/qiskit/dev/qiskit.transpiler.InstructionProperties.mdx index c066857cd70..69d0f0ac8dc 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.InstructionProperties.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.InstructionProperties.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.InstructionProperties # InstructionProperties - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") A representation of the properties of a gate implementation. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.Layout.mdx b/docs/api/qiskit/dev/qiskit.transpiler.Layout.mdx index b36fc9ee503..4ea9feb5074 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.Layout.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.Layout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.Layout # Layout - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Two-ways dict to represent a Layout. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.Layout ### add - + Adds a map element between bit and physical\_bit. If physical\_bit is not defined, bit will be mapped to a new physical bit. **Parameters** @@ -30,17 +30,17 @@ python_api_name: qiskit.transpiler.Layout ### add\_register - + Adds at the end physical\_qubits that map each bit in reg. **Parameters** - **reg** ([*Register*](qiskit.circuit.Register "qiskit.circuit.Register")) – A (qu)bit Register. For example, QuantumRegister(3, ‘qr’). + **reg** ([*Register*](circuit#qiskit.circuit.Register "qiskit.circuit.Register")) – A (qu)bit Register. For example, QuantumRegister(3, ‘qr’). ### combine\_into\_edge\_map - + Combines self and another\_layout into an “edge map”. For example: @@ -71,15 +71,36 @@ python_api_name: qiskit.transpiler.Layout [**LayoutError**](transpiler#qiskit.transpiler.LayoutError "qiskit.transpiler.LayoutError") – another\_layout can be bigger than self, but not smaller. Otherwise, raises. + ### compose + + + Compose this layout with another layout. + + If this layout represents a mapping from the P-qubits to the positions of the Q-qubits, and the other layout represents a mapping from the Q-qubits to the positions of the R-qubits, then the composed layout represents a mapping from the P-qubits to the positions of the R-qubits. + + **Parameters** + + * **other** ([*Layout*](#qiskit.transpiler.Layout "qiskit.transpiler.layout.Layout")) – The existing [`Layout`](#qiskit.transpiler.Layout "qiskit.transpiler.Layout") to compose this [`Layout`](#qiskit.transpiler.Layout "qiskit.transpiler.Layout") with. + * **qubits** ([*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit")*]*) – A list of [`Qubit`](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit") objects over which `other` is defined, used to establish the correspondence between the positions of the `other` qubits and the actual qubits. + + **Returns** + + A new layout object the represents this layout composed with the `other` layout. + + **Return type** + + [*Layout*](#qiskit.transpiler.Layout "qiskit.transpiler.layout.Layout") + + ### copy - + Returns a copy of a Layout instance. ### from\_dict - + Populates a Layout from a dictionary. The dictionary must be a bijective mapping between virtual qubits (tuple) and physical qubits (int). @@ -113,7 +134,7 @@ python_api_name: qiskit.transpiler.Layout ### from\_intlist - + Converts a list of integers to a Layout mapping virtual qubits (index of the list) to physical qubits (the list values). **Parameters** @@ -136,7 +157,7 @@ python_api_name: qiskit.transpiler.Layout ### from\_qubit\_list - + Populates a Layout from a list containing virtual qubits, Qubit or None. **Parameters** @@ -159,7 +180,7 @@ python_api_name: qiskit.transpiler.Layout ### generate\_trivial\_layout - + Creates a trivial (“one-to-one”) Layout with the registers and qubits in regs. **Parameters** @@ -177,38 +198,55 @@ python_api_name: qiskit.transpiler.Layout ### get\_physical\_bits - + Returns the dictionary where the keys are physical (qu)bits and the values are virtual (qu)bits. ### get\_registers - + Returns the registers in the layout \[QuantumRegister(2, ‘qr0’), QuantumRegister(3, ‘qr1’)] :returns: A set of Registers in the layout :rtype: Set ### get\_virtual\_bits - + Returns the dictionary where the keys are virtual (qu)bits and the values are physical (qu)bits. + ### inverse + + + Finds the inverse of this layout. + + This is possible when the layout is a bijective mapping, however the input and the output qubits may be different (in particular, this layout may be the mapping from the extended-with-ancillas virtual qubits to physical qubits). Thus, if this layout represents a mapping from the P-qubits to the positions of the Q-qubits, the inverse layout represents a mapping from the Q-qubits to the positions of the P-qubits. + + **Parameters** + + * **source\_qubits** ([*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit")*]*) – A list of [`Qubit`](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit") objects representing the domain of the layout. + * **target\_qubits** ([*List*](https://docs.python.org/3/library/typing.html#typing.List "(in Python v3.12)")*\[*[*Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.quantumregister.Qubit")*]*) – A list of [`Qubit`](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit") objects representing the image of the layout. + + **Returns** + + A new layout object the represents the inverse of this layout. + + ### order\_based\_on\_type - + decides which one is physical/virtual based on the type. Returns (virtual, physical) ### reorder\_bits - + Given an ordered list of bits, reorder them according to this layout. The list of bits must exactly match the virtual bits in this layout. **Parameters** - **bits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Bit*](qiskit.circuit.Bit "qiskit.circuit.Bit")*]*) – the bits to reorder. + **bits** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*Bit*](circuit#qiskit.circuit.Bit "qiskit.circuit.Bit")*]*) – the bits to reorder. **Returns** @@ -221,7 +259,7 @@ python_api_name: qiskit.transpiler.Layout ### swap - + Swaps the map between left and right. **Parameters** @@ -233,5 +271,15 @@ python_api_name: qiskit.transpiler.Layout [**LayoutError**](transpiler#qiskit.transpiler.LayoutError "qiskit.transpiler.LayoutError") – If left and right have not the same type. + + ### to\_permutation + + + Creates a permutation corresponding to this layout. + + This is possible when the layout is a bijective mapping with the same source and target qubits (for instance, a “final\_layout” corresponds to a permutation of the physical circuit qubits). If this layout is a mapping from qubits to their new positions, the resulting permutation describes which qubits occupy the positions 0, 1, 2, etc. after applying the permutation. + + For example, suppose that the list of qubits is `[qr_0, qr_1, qr_2]`, and the layout maps `qr_0` to `2`, `qr_1` to `0`, and `qr_2` to `1`. In terms of positions in `qubits`, this maps `0` to `2`, `1` to `0` and `2` to `1`, with the corresponding permutation being `[1, 2, 0]`. + diff --git a/docs/api/qiskit/dev/qiskit.transpiler.PassManager.mdx b/docs/api/qiskit/dev/qiskit.transpiler.PassManager.mdx index c552f98e24f..d861b79990f 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.PassManager.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.PassManager.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.PassManager # PassManager - + Bases: [`BasePassManager`](qiskit.passmanager.BasePassManager "qiskit.passmanager.passmanager.BasePassManager") Manager for a set of Passes and their scheduling during transpilation. @@ -24,7 +24,7 @@ python_api_name: qiskit.transpiler.PassManager ### append - + Append a Pass Set to the schedule of passes. **Parameters** @@ -38,7 +38,7 @@ python_api_name: qiskit.transpiler.PassManager ### draw - + Draw the pass manager. This function needs [pydot](https://github.com/erocarrera/pydot), which in turn needs [Graphviz](https://www.graphviz.org/) to be installed. @@ -64,7 +64,7 @@ python_api_name: qiskit.transpiler.PassManager ### remove - + Removes a particular pass in the scheduler. **Parameters** @@ -78,7 +78,7 @@ python_api_name: qiskit.transpiler.PassManager ### replace - + Replace a particular pass in the scheduler. **Parameters** @@ -89,7 +89,7 @@ python_api_name: qiskit.transpiler.PassManager ### run - + Run all the passes on the specified `circuits`. **Parameters** @@ -141,7 +141,7 @@ python_api_name: qiskit.transpiler.PassManager ### to\_flow\_controller - + Linearize this manager into a single [`FlowControllerLinear`](qiskit.passmanager.FlowControllerLinear "qiskit.passmanager.FlowControllerLinear"), so that it can be nested inside another pass manager. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.PassManagerConfig.mdx b/docs/api/qiskit/dev/qiskit.transpiler.PassManagerConfig.mdx index a57b4121539..c4e42702456 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.PassManagerConfig.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.PassManagerConfig.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.PassManagerConfig # PassManagerConfig - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Pass Manager Configuration. @@ -40,7 +40,7 @@ python_api_name: qiskit.transpiler.PassManagerConfig ### from\_backend - + Construct a configuration based on a backend and user input. This method automatically gererates a PassManagerConfig object based on the backend’s features. User options can be used to overwrite the configuration. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.StagedPassManager.mdx b/docs/api/qiskit/dev/qiskit.transpiler.StagedPassManager.mdx index e55346679a3..27d93ecbc7c 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.StagedPassManager.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.StagedPassManager.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.StagedPassManager # StagedPassManager - + Bases: [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.passmanager.PassManager") A pass manager pipeline built from individual stages. @@ -64,7 +64,7 @@ python_api_name: qiskit.transpiler.StagedPassManager ### append - + Append a Pass Set to the schedule of passes. **Parameters** @@ -78,13 +78,13 @@ python_api_name: qiskit.transpiler.StagedPassManager ### draw - + Draw the staged pass manager. ### remove - + Removes a particular pass in the scheduler. **Parameters** @@ -98,7 +98,7 @@ python_api_name: qiskit.transpiler.StagedPassManager ### replace - + Replace a particular pass in the scheduler. **Parameters** @@ -109,7 +109,7 @@ python_api_name: qiskit.transpiler.StagedPassManager ### run - + Run all the passes on the specified `circuits`. **Parameters** @@ -161,7 +161,7 @@ python_api_name: qiskit.transpiler.StagedPassManager ### to\_flow\_controller - + Linearize this manager into a single [`FlowControllerLinear`](qiskit.passmanager.FlowControllerLinear "qiskit.passmanager.FlowControllerLinear"), so that it can be nested inside another pass manager. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.Target.mdx b/docs/api/qiskit/dev/qiskit.transpiler.Target.mdx index 4331715b01e..3d132dbacec 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.Target.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.Target.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.Target # Target - + Bases: [`Mapping`](https://docs.python.org/3/library/collections.abc.html#collections.abc.Mapping "(in Python v3.12)") The intent of the `Target` object is to inform Qiskit’s compiler about the constraints of a particular backend so the compiler can compile an input circuit to something that works and is optimized for a device. It currently contains a description of instructions on a backend and their properties as well as some timing information. However, this exact interface may evolve over time as the needs of the compiler change. These changes will be done in a backwards compatible and controlled manner when they are made (either through versioning, subclassing, or mixins) to add on to the set of information exposed by a target. @@ -159,7 +159,7 @@ python_api_name: qiskit.transpiler.Target ### add\_instruction - + Add a new instruction to the [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target") As `Target` objects are strictly additive this is the primary method for modifying a `Target`. Typically, you will use this to fully populate a `Target` before using it in [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2"). For example: @@ -198,7 +198,7 @@ python_api_name: qiskit.transpiler.Target ### build\_coupling\_map - + Get a [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") from this target. If there is a mix of two qubit operations that have a connectivity constraint and those that are globally defined this will also return `None` because the globally connectivity means there is no constraint on the target. If you wish to see the constraints of the two qubit operations that have constraints you should use the `two_q_gate` argument to limit the output to the gates which have a constraint. @@ -226,7 +226,7 @@ python_api_name: qiskit.transpiler.Target ### durations - + Get an InstructionDurations object from the target **Returns** @@ -242,7 +242,7 @@ python_api_name: qiskit.transpiler.Target ### from\_configuration - + Create a target object from the individual global configuration Prior to the creation of the [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target") class, the constraints of a backend were represented by a collection of different objects which combined represent a subset of the information contained in the [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target"). This function provides a simple interface to convert those separate objects to a [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target"). @@ -283,7 +283,7 @@ python_api_name: qiskit.transpiler.Target ### get\_calibration - + Get calibrated pulse schedule for the instruction. If calibration is templated with parameters, one can also provide those values to build a schedule with assigned parameters. @@ -306,7 +306,7 @@ python_api_name: qiskit.transpiler.Target ### get\_non\_global\_operation\_names - + Return the non-global operation names for the target The non-global operations are those in the target which don’t apply on all qubits (for single qubit operations) or all multi-qubit qargs (for multi-qubit operations). @@ -326,7 +326,7 @@ python_api_name: qiskit.transpiler.Target ### has\_calibration - + Return whether the instruction (operation + qubits) defines a calibration. **Parameters** @@ -345,7 +345,7 @@ python_api_name: qiskit.transpiler.Target ### instruction\_properties - + Get the instruction properties for a specific instruction tuple This method is to be used in conjunction with the [`instructions`](#qiskit.transpiler.Target.instructions "qiskit.transpiler.Target.instructions") attribute of a [`Target`](#qiskit.transpiler.Target "qiskit.transpiler.Target") object. You can use this method to quickly get the instruction properties for an element of [`instructions`](#qiskit.transpiler.Target.instructions "qiskit.transpiler.Target.instructions") by using the index in that list. However, if you’re not working with [`instructions`](#qiskit.transpiler.Target.instructions "qiskit.transpiler.Target.instructions") directly it is likely more efficient to access the target directly via the name and qubits to get the instruction properties. For example, if [`instructions`](#qiskit.transpiler.Target.instructions "qiskit.transpiler.Target.instructions") returned: @@ -383,7 +383,7 @@ python_api_name: qiskit.transpiler.Target ### instruction\_schedule\_map - + Return an [`InstructionScheduleMap`](qiskit.pulse.InstructionScheduleMap "qiskit.pulse.InstructionScheduleMap") for the instructions in the target with a pulse schedule defined. **Returns** @@ -397,7 +397,7 @@ python_api_name: qiskit.transpiler.Target ### instruction\_supported - + Return whether the instruction (operation + qubits) is supported by the target **Parameters** @@ -436,15 +436,15 @@ python_api_name: qiskit.transpiler.Target ### items - + ### keys - + ### operation\_from\_name - + Get the operation class object for a given name **Parameters** @@ -462,7 +462,7 @@ python_api_name: qiskit.transpiler.Target ### operation\_names\_for\_qargs - + Get the operation names for a specified qargs tuple **Parameters** @@ -484,7 +484,7 @@ python_api_name: qiskit.transpiler.Target ### operations\_for\_qargs - + Get the operation class object for a specified qargs tuple **Parameters** @@ -506,7 +506,7 @@ python_api_name: qiskit.transpiler.Target ### qargs\_for\_operation\_name - + Get the qargs for a given operation name **Parameters** @@ -524,7 +524,7 @@ python_api_name: qiskit.transpiler.Target ### timing\_constraints - + Get an `TimingConstraints` object from the target **Returns** @@ -538,7 +538,7 @@ python_api_name: qiskit.transpiler.Target ### update\_from\_instruction\_schedule\_map - + Update the target from an instruction schedule map. If the input instruction schedule map contains new instructions not in the target they will be added. However, if it contains additional qargs for an existing instruction in the target it will error. @@ -570,7 +570,7 @@ python_api_name: qiskit.transpiler.Target ### update\_instruction\_properties - + Update the property object for an instruction qarg pair already in the Target **Parameters** @@ -586,6 +586,6 @@ python_api_name: qiskit.transpiler.Target ### values - + diff --git a/docs/api/qiskit/dev/qiskit.transpiler.TransformationPass.mdx b/docs/api/qiskit/dev/qiskit.transpiler.TransformationPass.mdx index 7590d4f21a1..e49c248a357 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.TransformationPass.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.TransformationPass.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.TransformationPass # TransformationPass - + Bases: `BasePass` A transformation pass: change DAG, not property set. @@ -35,7 +35,7 @@ python_api_name: qiskit.transpiler.TransformationPass ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.TransformationPass ### name - + Name of the pass. **Return type** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.TransformationPass ### run - + Run a pass on the DAGCircuit. This is implemented by the pass developer. **Parameters** @@ -79,7 +79,7 @@ python_api_name: qiskit.transpiler.TransformationPass ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.TranspileLayout.mdx b/docs/api/qiskit/dev/qiskit.transpiler.TranspileLayout.mdx index 0a02bf76fc7..a0a55b73068 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.TranspileLayout.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.TranspileLayout.mdx @@ -8,18 +8,18 @@ python_api_name: qiskit.transpiler.TranspileLayout # TranspileLayout - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") - Layout attributes from output circuit from transpiler. + Layout attributes for the output circuit from transpiler. - The transpiler in general is unitary-perserving up to permutations caused by setting and applying initial layout during the [Layout Stage](transpiler#layout-stage) and [`SwapGate`](qiskit.circuit.library.SwapGate "qiskit.circuit.library.SwapGate") insertion during the [Routing Stage](transpiler#routing-stage). To provide an interface to reason about these permutations caused by the [`transpiler`](transpiler#module-qiskit.transpiler "qiskit.transpiler"). In general the normal interface to access and reason about the layout transformations made by the transpiler is to use the helper methods defined on this class. + The [`transpiler`](transpiler#module-qiskit.transpiler "qiskit.transpiler") is unitary-preserving up to the “initial layout” and “final layout” permutations. The initial layout permutation is caused by setting and applying the initial layout during the [Layout Stage](transpiler#layout-stage). The final layout permutation is caused by [`SwapGate`](qiskit.circuit.library.SwapGate "qiskit.circuit.library.SwapGate") insertion during the [Routing Stage](transpiler#routing-stage). This class provides an interface to reason about these permutations using a variety of helper methods. - For example, looking at the initial layout, the transpiler can potentially remap the order of the qubits in your circuit as it fits the circuit to the target backend. If the input circuit was: + During the layout stage, the transpiler can potentially remap the order of the qubits in the circuit as it fits the circuit to the target backend. For example, let the input circuit be: - Then during the layout stage the transpiler reorders the qubits to be: + Suppose that during the layout stage the transpiler reorders the qubits to be: - then the output of the [`initial_virtual_layout()`](#qiskit.transpiler.TranspileLayout.initial_virtual_layout "qiskit.transpiler.TranspileLayout.initial_virtual_layout") would be equivalent to: + Then the output of the [`initial_virtual_layout()`](#qiskit.transpiler.TranspileLayout.initial_virtual_layout "qiskit.transpiler.TranspileLayout.initial_virtual_layout") method is equivalent to: ```python Layout({ @@ -29,23 +29,23 @@ python_api_name: qiskit.transpiler.TranspileLayout }) ``` - (it is also this attribute in the [`QuantumCircuit.draw()`](qiskit.circuit.QuantumCircuit#draw "qiskit.circuit.QuantumCircuit.draw") and [`circuit_drawer()`](qiskit.visualization.circuit_drawer "qiskit.visualization.circuit_drawer") which is used to display the mapping of qubits to positions in circuit visualizations post-transpilation) + (it is also this attribute in the [`QuantumCircuit.draw()`](qiskit.circuit.QuantumCircuit#draw "qiskit.circuit.QuantumCircuit.draw") and [`circuit_drawer()`](qiskit.visualization.circuit_drawer "qiskit.visualization.circuit_drawer") which is used to display the mapping of qubits to positions in circuit visualizations post-transpilation). - Building on this above example for final layout, if the transpiler needed to insert swap gates during routing so the output circuit became: + Building on the above example, suppose that during the routing stage the transpiler needs to insert swap gates, and the output circuit becomes: - then the output of the [`routing_permutation()`](#qiskit.transpiler.TranspileLayout.routing_permutation "qiskit.transpiler.TranspileLayout.routing_permutation") method would be: + Then the output of the [`routing_permutation()`](#qiskit.transpiler.TranspileLayout.routing_permutation "qiskit.transpiler.TranspileLayout.routing_permutation") method is: ```python [1, 0, 2] ``` - which maps the qubits at each position to their final position after any swap insertions caused by routing. + which maps positions of qubits before routing to their final positions after routing. There are three public attributes associated with the class, however these are mostly provided for backwards compatibility and represent the internal state from the transpiler. They are defined as: - > * [`initial_layout`](#qiskit.transpiler.TranspileLayout.initial_layout "qiskit.transpiler.TranspileLayout.initial_layout") - This attribute is used to model the permutation caused by the [Layout Stage](transpiler#layout-stage) it contains a [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout") object that maps the input [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")s [`Qubit`](qiskit.circuit.Qubit "qiskit.circuit.Qubit") objects to the position in the output `QuantumCircuit.qubits` list. - > * [`input_qubit_mapping`](#qiskit.transpiler.TranspileLayout.input_qubit_mapping "qiskit.transpiler.TranspileLayout.input_qubit_mapping") - This attribute is used to retain input ordering of the original [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") object. It maps the virtual [`Qubit`](qiskit.circuit.Qubit "qiskit.circuit.Qubit") object from the original circuit (and [`initial_layout`](#qiskit.transpiler.TranspileLayout.initial_layout "qiskit.transpiler.TranspileLayout.initial_layout")) to its corresponding position in [`QuantumCircuit.qubits`](qiskit.circuit.QuantumCircuit#qubits "qiskit.circuit.QuantumCircuit.qubits") in the original circuit. This is needed when computing the permutation of the `Operator` of the circuit (and used by [`Operator.from_circuit()`](qiskit.quantum_info.Operator#from_circuit "qiskit.quantum_info.Operator.from_circuit")). - > * [`final_layout`](#qiskit.transpiler.TranspileLayout.final_layout "qiskit.transpiler.TranspileLayout.final_layout") - This is a [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout") object used to model the output permutation caused ny any [`SwapGate`](qiskit.circuit.library.SwapGate "qiskit.circuit.library.SwapGate")s inserted into the [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") during the [Routing Stage](transpiler#routing-stage). It maps the output circuit’s qubits from `QuantumCircuit.qubits` in the output circuit to the final position after routing. It is **not** a mapping from the original input circuit’s position to the final position at the end of the transpiled circuit. If you need this you can use the [`final_index_layout()`](#qiskit.transpiler.TranspileLayout.final_index_layout "qiskit.transpiler.TranspileLayout.final_index_layout") to generate this. If this is set to `None` this indicates that routing was not run and it can be considered equivalent to a trivial layout with the qubits from the output circuit’s [`qubits`](qiskit.circuit.QuantumCircuit#qubits "qiskit.circuit.QuantumCircuit.qubits") list. + > * [`initial_layout`](#qiskit.transpiler.TranspileLayout.initial_layout "qiskit.transpiler.TranspileLayout.initial_layout") - This attribute is used to model the permutation caused by the [Layout Stage](transpiler#layout-stage). It is a [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout") object that maps the input [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")s [`Qubit`](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit") objects to the position in the output `QuantumCircuit.qubits` list. + > * [`input_qubit_mapping`](#qiskit.transpiler.TranspileLayout.input_qubit_mapping "qiskit.transpiler.TranspileLayout.input_qubit_mapping") - This attribute is used to retain input ordering of the original [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") object. It maps the virtual [`Qubit`](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit") object from the original circuit (and [`initial_layout`](#qiskit.transpiler.TranspileLayout.initial_layout "qiskit.transpiler.TranspileLayout.initial_layout")) to its corresponding position in [`QuantumCircuit.qubits`](qiskit.circuit.QuantumCircuit#qubits "qiskit.circuit.QuantumCircuit.qubits") in the original circuit. This is needed when computing the permutation of the `Operator` of the circuit (and used by [`Operator.from_circuit()`](qiskit.quantum_info.Operator#from_circuit "qiskit.quantum_info.Operator.from_circuit")). + > * [`final_layout`](#qiskit.transpiler.TranspileLayout.final_layout "qiskit.transpiler.TranspileLayout.final_layout") - This attribute is used to model the permutation caused by the [Routing Stage](transpiler#routing-stage). It is a [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout") object that maps the output circuit’s qubits from `QuantumCircuit.qubits` in the output circuit to their final positions after routing. Importantly, this only represents the permutation caused by inserting [`SwapGate`](qiskit.circuit.library.SwapGate "qiskit.circuit.library.SwapGate")s into the [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") during the [Routing Stage](transpiler#routing-stage). It is **not** a mapping from the original input circuit’s position to the final position at the end of the transpiled circuit. If you need this, you can use the [`final_index_layout()`](#qiskit.transpiler.TranspileLayout.final_index_layout "qiskit.transpiler.TranspileLayout.final_index_layout") to generate this. If [`final_layout`](#qiskit.transpiler.TranspileLayout.final_layout "qiskit.transpiler.TranspileLayout.final_layout") is set to `None`, this indicates that routing was not run, and can be considered equivalent to a trivial layout with the qubits from the output circuit’s [`qubits`](qiskit.circuit.QuantumCircuit#qubits "qiskit.circuit.QuantumCircuit.qubits") list. ## Attributes @@ -65,10 +65,10 @@ python_api_name: qiskit.transpiler.TranspileLayout ### final\_index\_layout - - Generate the final layout as an array of integers + + Generate the final layout as an array of integers. - This method will generate an array of final positions for each qubit in the output circuit. For example, if you had an input circuit like: + This method will generate an array of final positions for each qubit in the input circuit. For example, if you had an input circuit like: ```python qc = QuantumCircuit(3) @@ -81,19 +81,19 @@ python_api_name: qiskit.transpiler.TranspileLayout ```python tqc = QuantumCircuit(3) - qc.h(2) - qc.cx(2, 1) - qc.swap(0, 1) - qc.cx(2, 1) + tqc.h(2) + tqc.cx(2, 1) + tqc.swap(0, 1) + tqc.cx(2, 1) ``` - then the return from this function would be a list of: + then the [`final_index_layout()`](#qiskit.transpiler.TranspileLayout.final_index_layout "qiskit.transpiler.TranspileLayout.final_index_layout") method returns: ```python [2, 0, 1] ``` - because qubit 0 in the original circuit’s final state is on qubit 3 in the output circuit, qubit 1 in the original circuit’s final state is on qubit 0, and qubit 2’s final state is on qubit. The output list length will be as wide as the input circuit’s number of qubits, as the output list from this method is for tracking the permutation of qubits in the original circuit caused by the transpiler. + This can be seen as follows. Qubit 0 in the original circuit is mapped to qubit 2 in the output circuit during the layout stage, which is mapped to qubit 2 during the routing stage. Qubit 1 in the original circuit is mapped to qubit 1 in the output circuit during the layout stage, which is mapped to qubit 0 during the routing stage. Qubit 2 in the original circuit is mapped to qubit 0 in the output circuit during the layout stage, which is mapped to qubit 1 during the routing stage. The output list length will be as wide as the input circuit’s number of qubits, as the output list from this method is for tracking the permutation of qubits in the original circuit caused by the transpiler. **Parameters** @@ -101,7 +101,7 @@ python_api_name: qiskit.transpiler.TranspileLayout **Returns** - A list of final positions for each input circuit qubit + A list of final positions for each input circuit qubit. **Return type** @@ -110,10 +110,10 @@ python_api_name: qiskit.transpiler.TranspileLayout ### final\_virtual\_layout - - Generate the final layout as a [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout") object + + Generate the final layout as a [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout") object. - This method will generate an array of final positions for each qubit in the output circuit. For example, if you had an input circuit like: + This method will generate an array of final positions for each qubit in the input circuit. For example, if you had an input circuit like: ```python qc = QuantumCircuit(3) @@ -126,10 +126,10 @@ python_api_name: qiskit.transpiler.TranspileLayout ```python tqc = QuantumCircuit(3) - qc.h(2) - qc.cx(2, 1) - qc.swap(0, 1) - qc.cx(2, 1) + tqc.h(2) + tqc.cx(2, 1) + tqc.swap(0, 1) + tqc.cx(2, 1) ``` then the return from this function would be a layout object: @@ -142,7 +142,7 @@ python_api_name: qiskit.transpiler.TranspileLayout }) ``` - because qubit 0 in the original circuit’s final state is on qubit 3 in the output circuit, qubit 1 in the original circuit’s final state is on qubit 0, and qubit 2’s final state is on qubit. The output list length will be as wide as the input circuit’s number of qubits, as the output list from this method is for tracking the permutation of qubits in the original circuit caused by the transpiler. + This can be seen as follows. Qubit 0 in the original circuit is mapped to qubit 2 in the output circuit during the layout stage, which is mapped to qubit 2 during the routing stage. Qubit 1 in the original circuit is mapped to qubit 1 in the output circuit during the layout stage, which is mapped to qubit 0 during the routing stage. Qubit 2 in the original circuit is mapped to qubit 0 in the output circuit during the layout stage, which is mapped to qubit 1 during the routing stage. The output list length will be as wide as the input circuit’s number of qubits, as the output list from this method is for tracking the permutation of qubits in the original circuit caused by the transpiler. **Parameters** @@ -150,7 +150,7 @@ python_api_name: qiskit.transpiler.TranspileLayout **Returns** - A layout object mapping to the final positions for each qubit + A layout object mapping to the final positions for each qubit. **Return type** @@ -159,8 +159,8 @@ python_api_name: qiskit.transpiler.TranspileLayout ### initial\_index\_layout - - Generate an initial layout as an array of integers + + Generate an initial layout as an array of integers. **Parameters** @@ -177,10 +177,10 @@ python_api_name: qiskit.transpiler.TranspileLayout ### initial\_virtual\_layout - + Return a [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout") object for the initial layout. - This returns a mapping of virtual [`Qubit`](qiskit.circuit.Qubit "qiskit.circuit.Qubit") objects in the input circuit to the physical qubit selected during layout. This is analogous to the [`initial_layout`](#qiskit.transpiler.TranspileLayout.initial_layout "qiskit.transpiler.TranspileLayout.initial_layout") attribute. + This returns a mapping of virtual [`Qubit`](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit") objects in the input circuit to the positions of the physical qubits selected during layout. This is analogous to the [`initial_layout`](#qiskit.transpiler.TranspileLayout.initial_layout "qiskit.transpiler.TranspileLayout.initial_layout") attribute. **Parameters** @@ -188,7 +188,7 @@ python_api_name: qiskit.transpiler.TranspileLayout **Returns** - A layout object mapping the input circuit’s [`Qubit`](qiskit.circuit.Qubit "qiskit.circuit.Qubit") objects to the selected physical qubits. + A layout object mapping the input circuit’s [`Qubit`](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit") objects to the positions of the selected physical qubits. **Return type** @@ -197,14 +197,14 @@ python_api_name: qiskit.transpiler.TranspileLayout ### routing\_permutation - - Generate a final layout as an array of integers + + Generate a final layout as an array of integers. - If there is no [`final_layout`](#qiskit.transpiler.TranspileLayout.final_layout "qiskit.transpiler.TranspileLayout.final_layout") attribute present then that indicates there was no output permutation caused by routing or other transpiler transforms. In this case the function will return a list of `[0, 1, 2, .., n]` to indicate this + If there is no [`final_layout`](#qiskit.transpiler.TranspileLayout.final_layout "qiskit.transpiler.TranspileLayout.final_layout") attribute present then that indicates there was no output permutation caused by routing or other transpiler transforms. In this case the function will return a list of `[0, 1, 2, .., n]`. **Returns** - A layout array that maps a position in the array to its new position in the output circuit + A layout array that maps a position in the array to its new position in the output circuit. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.ALAPSchedule.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.ALAPSchedule.mdx index 99850ddb559..91e2a0d2405 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.ALAPSchedule.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.ALAPSchedule.mdx @@ -8,15 +8,15 @@ python_api_name: qiskit.transpiler.passes.ALAPSchedule # ALAPSchedule - + Bases: `BaseSchedulerTransform` ALAP Scheduling pass, which schedules the **stop** time of instructions as late as possible. See `BaseSchedulerTransform` for the detailed behavior of the control flow operation, i.e. `c_if`. - - The class `qiskit.transpiler.passes.scheduling.alap.ALAPSchedule` is pending deprecation as of qiskit 0.21.0. It will be marked deprecated in a future release, and then removed no earlier than 3 months after the release date. Instead, use [`ALAPScheduleAnalysis`](qiskit.transpiler.passes.ALAPScheduleAnalysis "qiskit.transpiler.passes.ALAPScheduleAnalysis"), which is an analysis pass that requires a padding pass to later modify the circuit. + + The class `qiskit.transpiler.passes.scheduling.alap.ALAPSchedule` is deprecated as of qiskit 1.1.0. It will be removed no earlier than 3 months after the release date. Instead, use [`ALAPScheduleAnalysis`](qiskit.transpiler.passes.ALAPScheduleAnalysis "qiskit.transpiler.passes.ALAPScheduleAnalysis"), which is an analysis pass that requires a padding pass to later modify the circuit. ## Attributes @@ -45,7 +45,7 @@ python_api_name: qiskit.transpiler.passes.ALAPSchedule ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.ALAPSchedule ### name - + Name of the pass. **Return type** @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.ALAPSchedule ### run - + Run the ALAPSchedule pass on dag. **Parameters** @@ -98,7 +98,7 @@ python_api_name: qiskit.transpiler.passes.ALAPSchedule ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.ALAPScheduleAnalysis.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.ALAPScheduleAnalysis.mdx index aa50c833712..534fc9e3636 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.ALAPScheduleAnalysis.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.ALAPScheduleAnalysis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ALAPScheduleAnalysis # ALAPScheduleAnalysis - + Bases: `BaseScheduler` ALAP Scheduling pass, which schedules the **stop** time of instructions as late as possible. @@ -48,7 +48,7 @@ python_api_name: qiskit.transpiler.passes.ALAPScheduleAnalysis ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -68,7 +68,7 @@ python_api_name: qiskit.transpiler.passes.ALAPScheduleAnalysis ### name - + Name of the pass. **Return type** @@ -78,7 +78,7 @@ python_api_name: qiskit.transpiler.passes.ALAPScheduleAnalysis ### run - + Run the ALAPSchedule pass on dag. **Parameters** @@ -101,7 +101,7 @@ python_api_name: qiskit.transpiler.passes.ALAPScheduleAnalysis ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.ASAPSchedule.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.ASAPSchedule.mdx index b5b6b3beda3..2aba0aeeab4 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.ASAPSchedule.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.ASAPSchedule.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ASAPSchedule # ASAPSchedule - + Bases: `BaseSchedulerTransform` ASAP Scheduling pass, which schedules the start time of instructions as early as possible.. @@ -19,8 +19,8 @@ python_api_name: qiskit.transpiler.passes.ASAPSchedule This base class has been superseded by [`ASAPScheduleAnalysis`](qiskit.transpiler.passes.ASAPScheduleAnalysis "qiskit.transpiler.passes.ASAPScheduleAnalysis") and the new scheduling workflow. It will be deprecated and subsequently removed in a future release. - - The class `qiskit.transpiler.passes.scheduling.asap.ASAPSchedule` is pending deprecation as of qiskit 0.21.0. It will be marked deprecated in a future release, and then removed no earlier than 3 months after the release date. Instead, use [`ASAPScheduleAnalysis`](qiskit.transpiler.passes.ASAPScheduleAnalysis "qiskit.transpiler.passes.ASAPScheduleAnalysis"), which is an analysis pass that requires a padding pass to later modify the circuit. + + The class `qiskit.transpiler.passes.scheduling.asap.ASAPSchedule` is deprecated as of qiskit 1.1.0. It will be removed no earlier than 3 months after the release date. Instead, use [`ASAPScheduleAnalysis`](qiskit.transpiler.passes.ASAPScheduleAnalysis "qiskit.transpiler.passes.ASAPScheduleAnalysis"), which is an analysis pass that requires a padding pass to later modify the circuit. ## Attributes @@ -49,7 +49,7 @@ python_api_name: qiskit.transpiler.passes.ASAPSchedule ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -69,7 +69,7 @@ python_api_name: qiskit.transpiler.passes.ASAPSchedule ### name - + Name of the pass. **Return type** @@ -79,7 +79,7 @@ python_api_name: qiskit.transpiler.passes.ASAPSchedule ### run - + Run the ASAPSchedule pass on dag. **Parameters** @@ -102,7 +102,7 @@ python_api_name: qiskit.transpiler.passes.ASAPSchedule ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.ASAPScheduleAnalysis.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.ASAPScheduleAnalysis.mdx index cd46d03be85..ccd137ffe91 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.ASAPScheduleAnalysis.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.ASAPScheduleAnalysis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ASAPScheduleAnalysis # ASAPScheduleAnalysis - + Bases: `BaseScheduler` ASAP Scheduling pass, which schedules the start time of instructions as early as possible. @@ -48,7 +48,7 @@ python_api_name: qiskit.transpiler.passes.ASAPScheduleAnalysis ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -68,7 +68,7 @@ python_api_name: qiskit.transpiler.passes.ASAPScheduleAnalysis ### name - + Name of the pass. **Return type** @@ -78,7 +78,7 @@ python_api_name: qiskit.transpiler.passes.ASAPScheduleAnalysis ### run - + Run the ASAPSchedule pass on dag. **Parameters** @@ -101,7 +101,7 @@ python_api_name: qiskit.transpiler.passes.ASAPScheduleAnalysis ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.AlignMeasures.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.AlignMeasures.mdx index 1903027e4ca..28b80ca9d0d 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.AlignMeasures.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.AlignMeasures.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.AlignMeasures # AlignMeasures - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Measurement alignment. @@ -53,8 +53,8 @@ python_api_name: qiskit.transpiler.passes.AlignMeasures Create new pass. - - The class `qiskit.transpiler.passes.scheduling.alignments.align_measures.AlignMeasures` is pending deprecation as of qiskit 0.21.0. It will be marked deprecated in a future release, and then removed no earlier than 3 months after the release date. Instead, use [`ConstrainedReschedule`](qiskit.transpiler.passes.ConstrainedReschedule "qiskit.transpiler.passes.ConstrainedReschedule"), which performs the same function but also supports aligning to additional timing constraints. + + The class `qiskit.transpiler.passes.scheduling.alignments.align_measures.AlignMeasures` is deprecated as of qiskit 1.1.0. It will be removed no earlier than 3 months after the release date. Instead, use [`ConstrainedReschedule`](qiskit.transpiler.passes.ConstrainedReschedule "qiskit.transpiler.passes.ConstrainedReschedule"), which performs the same function but also supports aligning to additional timing constraints. **Parameters** @@ -83,7 +83,7 @@ python_api_name: qiskit.transpiler.passes.AlignMeasures ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -103,7 +103,7 @@ python_api_name: qiskit.transpiler.passes.AlignMeasures ### name - + Name of the pass. **Return type** @@ -113,7 +113,7 @@ python_api_name: qiskit.transpiler.passes.AlignMeasures ### run - + Run the measurement alignment pass on dag. **Parameters** @@ -135,7 +135,7 @@ python_api_name: qiskit.transpiler.passes.AlignMeasures ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.ApplyLayout.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.ApplyLayout.mdx index 1b44030b9d3..1c003c88a12 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.ApplyLayout.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.ApplyLayout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ApplyLayout # ApplyLayout - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Transform a circuit with virtual qubits into a circuit with physical qubits. @@ -39,7 +39,7 @@ python_api_name: qiskit.transpiler.passes.ApplyLayout ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -59,7 +59,7 @@ python_api_name: qiskit.transpiler.passes.ApplyLayout ### name - + Name of the pass. **Return type** @@ -69,7 +69,7 @@ python_api_name: qiskit.transpiler.passes.ApplyLayout ### run - + Run the ApplyLayout pass on `dag`. **Parameters** @@ -91,7 +91,7 @@ python_api_name: qiskit.transpiler.passes.ApplyLayout ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.BarrierBeforeFinalMeasurements.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.BarrierBeforeFinalMeasurements.mdx index 868aa15f714..c85a94fcae8 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.BarrierBeforeFinalMeasurements.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.BarrierBeforeFinalMeasurements.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.BarrierBeforeFinalMeasurements # BarrierBeforeFinalMeasurements - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Add a barrier before final measurements. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.BarrierBeforeFinalMeasurements ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.BarrierBeforeFinalMeasurements ### name - + Name of the pass. **Return type** @@ -67,13 +67,13 @@ python_api_name: qiskit.transpiler.passes.BarrierBeforeFinalMeasurements ### run - + Run the BarrierBeforeFinalMeasurements pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.BasicSwap.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.BasicSwap.mdx index 76454e6ce7c..41c3245f4c9 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.BasicSwap.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.BasicSwap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.BasicSwap # BasicSwap - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Map (with minimum effort) a DAGCircuit onto a `coupling_map` adding swap gates. @@ -44,7 +44,7 @@ python_api_name: qiskit.transpiler.passes.BasicSwap ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -64,7 +64,7 @@ python_api_name: qiskit.transpiler.passes.BasicSwap ### name - + Name of the pass. **Return type** @@ -74,7 +74,7 @@ python_api_name: qiskit.transpiler.passes.BasicSwap ### run - + Run the BasicSwap pass on dag. **Parameters** @@ -97,7 +97,7 @@ python_api_name: qiskit.transpiler.passes.BasicSwap ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.BasisTranslator.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.BasisTranslator.mdx index 3d87ce3bc12..8119cd68914 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.BasisTranslator.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.BasisTranslator.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.BasisTranslator # BasisTranslator - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Translates gates to a target basis by searching for a set of translations from a given EquivalenceLibrary. @@ -90,7 +90,7 @@ python_api_name: qiskit.transpiler.passes.BasisTranslator ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -110,7 +110,7 @@ python_api_name: qiskit.transpiler.passes.BasisTranslator ### name - + Name of the pass. **Return type** @@ -120,7 +120,7 @@ python_api_name: qiskit.transpiler.passes.BasisTranslator ### run - + Translate an input DAGCircuit to the target basis. **Parameters** @@ -142,7 +142,7 @@ python_api_name: qiskit.transpiler.passes.BasisTranslator ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.CSPLayout.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.CSPLayout.mdx index 0563d35f4a8..5b30dd8f507 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.CSPLayout.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.CSPLayout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CSPLayout # CSPLayout - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") If possible, chooses a Layout as a CSP, using backtracking. @@ -52,7 +52,7 @@ python_api_name: qiskit.transpiler.passes.CSPLayout ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -72,7 +72,7 @@ python_api_name: qiskit.transpiler.passes.CSPLayout ### name - + Name of the pass. **Return type** @@ -82,13 +82,13 @@ python_api_name: qiskit.transpiler.passes.CSPLayout ### run - + run the layout method ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.CXCancellation.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.CXCancellation.mdx index ccdb3327451..1e066e79ba3 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.CXCancellation.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.CXCancellation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CXCancellation # CXCancellation - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Cancel back-to-back `cx` gates in dag. @@ -39,7 +39,7 @@ python_api_name: qiskit.transpiler.passes.CXCancellation ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -59,7 +59,7 @@ python_api_name: qiskit.transpiler.passes.CXCancellation ### name - + Name of the pass. **Return type** @@ -69,7 +69,7 @@ python_api_name: qiskit.transpiler.passes.CXCancellation ### run - + Run the CXCancellation pass on dag. **Parameters** @@ -87,7 +87,7 @@ python_api_name: qiskit.transpiler.passes.CXCancellation ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.CheckGateDirection.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.CheckGateDirection.mdx index 11350030b04..b0ae9777d66 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.CheckGateDirection.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.CheckGateDirection.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CheckGateDirection # CheckGateDirection - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Check if the two-qubit gates follow the right direction with respect to the coupling map. @@ -42,7 +42,7 @@ python_api_name: qiskit.transpiler.passes.CheckGateDirection ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -62,7 +62,7 @@ python_api_name: qiskit.transpiler.passes.CheckGateDirection ### name - + Name of the pass. **Return type** @@ -72,7 +72,7 @@ python_api_name: qiskit.transpiler.passes.CheckGateDirection ### run - + Run the CheckGateDirection pass on dag. If dag is mapped and the direction is correct the property is\_direction\_mapped is set to True (or to False otherwise). @@ -84,7 +84,7 @@ python_api_name: qiskit.transpiler.passes.CheckGateDirection ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.CheckMap.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.CheckMap.mdx index 6afddd1dc92..fefdc147d4a 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.CheckMap.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.CheckMap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CheckMap # CheckMap - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Check if a DAG circuit is already mapped to a coupling map. @@ -44,7 +44,7 @@ python_api_name: qiskit.transpiler.passes.CheckMap ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -64,7 +64,7 @@ python_api_name: qiskit.transpiler.passes.CheckMap ### name - + Name of the pass. **Return type** @@ -74,7 +74,7 @@ python_api_name: qiskit.transpiler.passes.CheckMap ### run - + Run the CheckMap pass on dag. If dag is mapped to coupling\_map, the property is\_swap\_mapped is set to True (or to False otherwise). @@ -86,7 +86,7 @@ python_api_name: qiskit.transpiler.passes.CheckMap ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.Collect1qRuns.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.Collect1qRuns.mdx index 7927b1e63bd..5b04c0ec6f7 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.Collect1qRuns.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.Collect1qRuns.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Collect1qRuns # Collect1qRuns - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Collect one-qubit subcircuits. @@ -35,7 +35,7 @@ python_api_name: qiskit.transpiler.passes.Collect1qRuns ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.passes.Collect1qRuns ### name - + Name of the pass. **Return type** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.Collect1qRuns ### run - + Run the Collect1qBlocks pass on dag. The blocks contain “op” nodes in topological order such that all gates in a block act on the same qubits and are adjacent in the circuit. @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.Collect1qRuns ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.Collect2qBlocks.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.Collect2qBlocks.mdx index 48d079f443e..e4a8ac90697 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.Collect2qBlocks.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.Collect2qBlocks.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Collect2qBlocks # Collect2qBlocks - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Collect two-qubit subcircuits. @@ -35,7 +35,7 @@ python_api_name: qiskit.transpiler.passes.Collect2qBlocks ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.passes.Collect2qBlocks ### name - + Name of the pass. **Return type** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.Collect2qBlocks ### run - + Run the Collect2qBlocks pass on dag. The blocks contain “op” nodes in topological order such that all gates in a block act on the same qubits and are adjacent in the circuit. @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.Collect2qBlocks ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.CollectCliffords.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.CollectCliffords.mdx index 9f2bcb06ddb..66b11bb8bdd 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.CollectCliffords.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.CollectCliffords.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CollectCliffords # CollectCliffords - + Bases: `CollectAndCollapse` Collects blocks of Clifford gates and replaces them by a [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") object. @@ -45,7 +45,7 @@ python_api_name: qiskit.transpiler.passes.CollectCliffords ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.CollectCliffords ### name - + Name of the pass. **Return type** @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.CollectCliffords ### run - + Run the CollectLinearFunctions pass on dag. :param dag: the DAG to be optimized. :type dag: DAGCircuit **Returns** @@ -89,7 +89,7 @@ python_api_name: qiskit.transpiler.passes.CollectCliffords ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.CollectLinearFunctions.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.CollectLinearFunctions.mdx index 338b2c6a075..5202ac64500 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.CollectLinearFunctions.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.CollectLinearFunctions.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CollectLinearFunctions # CollectLinearFunctions - + Bases: `CollectAndCollapse` Collect blocks of linear gates ([`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate") and [`SwapGate`](qiskit.circuit.library.SwapGate "qiskit.circuit.library.SwapGate") gates) and replaces them by linear functions ([`LinearFunction`](qiskit.circuit.library.LinearFunction "qiskit.circuit.library.LinearFunction")). @@ -45,7 +45,7 @@ python_api_name: qiskit.transpiler.passes.CollectLinearFunctions ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.CollectLinearFunctions ### name - + Name of the pass. **Return type** @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.CollectLinearFunctions ### run - + Run the CollectLinearFunctions pass on dag. :param dag: the DAG to be optimized. :type dag: DAGCircuit **Returns** @@ -89,7 +89,7 @@ python_api_name: qiskit.transpiler.passes.CollectLinearFunctions ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.CollectMultiQBlocks.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.CollectMultiQBlocks.mdx index bb40e528c3a..9586ee7a162 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.CollectMultiQBlocks.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.CollectMultiQBlocks.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CollectMultiQBlocks # CollectMultiQBlocks - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Collect sequences of uninterrupted gates acting on groups of qubits. `max_block_size` specifies the maximum number of qubits that can be acted upon by any single group of gates @@ -45,7 +45,7 @@ python_api_name: qiskit.transpiler.passes.CollectMultiQBlocks ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -65,13 +65,13 @@ python_api_name: qiskit.transpiler.passes.CollectMultiQBlocks ### find\_set - + DSU function for finding root of set of items If my parent is myself, I am the root. Otherwise we recursively find the root for my parent. After that, we assign my parent to be my root, saving recursion in the future. ### name - + Name of the pass. **Return type** @@ -81,7 +81,7 @@ python_api_name: qiskit.transpiler.passes.CollectMultiQBlocks ### run - + Run the CollectMultiQBlocks pass on dag. The blocks contain “op” nodes in topological sort order such that all gates in a block act on the same set of qubits and are adjacent in the circuit. @@ -93,13 +93,13 @@ python_api_name: qiskit.transpiler.passes.CollectMultiQBlocks ### union\_set - + DSU function for unioning two sets together Find the roots of each set. Then assign one to have the other as its parent, thus liking the sets. Merges smaller set into larger set in order to have better runtime ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.CommutationAnalysis.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.CommutationAnalysis.mdx index 3d33caaed88..08791b5484a 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.CommutationAnalysis.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.CommutationAnalysis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CommutationAnalysis # CommutationAnalysis - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Analysis pass to find commutation relations between DAG nodes. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.CommutationAnalysis ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.CommutationAnalysis ### name - + Name of the pass. **Return type** @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.CommutationAnalysis ### run - + Run the CommutationAnalysis pass on dag. Run the pass on the DAG, and write the discovered commutation relations into the `property_set`. @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.CommutationAnalysis ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.CommutativeCancellation.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.CommutativeCancellation.mdx index b0c201effba..38461b05e3c 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.CommutativeCancellation.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.CommutativeCancellation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeCancellation # CommutativeCancellation - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Cancel the redundant (self-adjoint) gates through commutation relations. @@ -48,7 +48,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeCancellation ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -68,7 +68,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeCancellation ### name - + Name of the pass. **Return type** @@ -78,7 +78,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeCancellation ### run - + Run the CommutativeCancellation pass on dag. **Parameters** @@ -100,7 +100,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeCancellation ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.CommutativeInverseCancellation.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.CommutativeInverseCancellation.mdx index f8c59c2b4d6..51d208e79a2 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.CommutativeInverseCancellation.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.CommutativeInverseCancellation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeInverseCancellation # CommutativeInverseCancellation - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Cancel pairs of inverse gates exploiting commutation relations. @@ -40,7 +40,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeInverseCancellation ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -60,7 +60,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeInverseCancellation ### name - + Name of the pass. **Return type** @@ -70,7 +70,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeInverseCancellation ### run - + Run the CommutativeInverseCancellation pass on dag. **Parameters** @@ -88,7 +88,7 @@ python_api_name: qiskit.transpiler.passes.CommutativeInverseCancellation ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.Commuting2qGateRouter.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.Commuting2qGateRouter.mdx index beb408f3dac..0f1c041bf00 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.Commuting2qGateRouter.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.Commuting2qGateRouter.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Commuting2qGateRouter # Commuting2qGateRouter - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") A class to swap route one or more commuting gates to the coupling map. @@ -97,7 +97,7 @@ python_api_name: qiskit.transpiler.passes.Commuting2qGateRouter ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -117,7 +117,7 @@ python_api_name: qiskit.transpiler.passes.Commuting2qGateRouter ### name - + Name of the pass. **Return type** @@ -127,7 +127,7 @@ python_api_name: qiskit.transpiler.passes.Commuting2qGateRouter ### run - + Run the pass by decomposing the nodes it applies on. **Parameters** @@ -151,7 +151,7 @@ python_api_name: qiskit.transpiler.passes.Commuting2qGateRouter ### swap\_decompose - + Take an instance of `Commuting2qBlock` and map it to the coupling map. The mapping is done with the swap strategy. @@ -174,7 +174,7 @@ python_api_name: qiskit.transpiler.passes.Commuting2qGateRouter ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.ConsolidateBlocks.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.ConsolidateBlocks.mdx index 58367c7d131..4bb53d5bd56 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.ConsolidateBlocks.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.ConsolidateBlocks.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ConsolidateBlocks # ConsolidateBlocks - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Replace each block of consecutive gates by a single Unitary node. @@ -53,7 +53,7 @@ python_api_name: qiskit.transpiler.passes.ConsolidateBlocks ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -73,7 +73,7 @@ python_api_name: qiskit.transpiler.passes.ConsolidateBlocks ### name - + Name of the pass. **Return type** @@ -83,7 +83,7 @@ python_api_name: qiskit.transpiler.passes.ConsolidateBlocks ### run - + Run the ConsolidateBlocks pass on dag. Iterate over each block and replace it with an equivalent Unitary on the same wires. @@ -91,7 +91,7 @@ python_api_name: qiskit.transpiler.passes.ConsolidateBlocks ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.ConstrainedReschedule.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.ConstrainedReschedule.mdx index 215d1688ca0..50269b83bf0 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.ConstrainedReschedule.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.ConstrainedReschedule.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ConstrainedReschedule # ConstrainedReschedule - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Rescheduler pass that updates node start times to conform to the hardware alignments. @@ -49,6 +49,7 @@ python_api_name: qiskit.transpiler.passes.ConstrainedReschedule * **acquire\_alignment** – Integer number representing the minimum time resolution to trigger acquisition instruction in units of `dt`. * **pulse\_alignment** – Integer number representing the minimum time resolution to trigger gate instruction in units of `dt`. + * **target** – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") representing the target backend, if `target` is specified then this argument will take precedence and `acquire_alignment` and `pulse_alignment` will be ignored. ## Attributes @@ -72,7 +73,7 @@ python_api_name: qiskit.transpiler.passes.ConstrainedReschedule ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -92,7 +93,7 @@ python_api_name: qiskit.transpiler.passes.ConstrainedReschedule ### name - + Name of the pass. **Return type** @@ -102,7 +103,7 @@ python_api_name: qiskit.transpiler.passes.ConstrainedReschedule ### run - + Run rescheduler. This pass should perform rescheduling to satisfy: @@ -145,7 +146,7 @@ python_api_name: qiskit.transpiler.passes.ConstrainedReschedule ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.ContainsInstruction.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.ContainsInstruction.mdx index 63df37c98a7..df78799a90a 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.ContainsInstruction.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.ContainsInstruction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ContainsInstruction # ContainsInstruction - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") An analysis pass to detect if the DAG contains a specific instruction. @@ -44,7 +44,7 @@ python_api_name: qiskit.transpiler.passes.ContainsInstruction ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -64,7 +64,7 @@ python_api_name: qiskit.transpiler.passes.ContainsInstruction ### name - + Name of the pass. **Return type** @@ -74,13 +74,13 @@ python_api_name: qiskit.transpiler.passes.ContainsInstruction ### run - + Run the ContainsInstruction pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.ConvertConditionsToIfOps.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.ConvertConditionsToIfOps.mdx index 25487cd9534..1971ff1a641 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.ConvertConditionsToIfOps.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.ConvertConditionsToIfOps.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ConvertConditionsToIfOps # ConvertConditionsToIfOps - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Convert instructions whose `condition` attribute is set to a non-`None` value into the equivalent single-statement `IfElseBlock`. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.ConvertConditionsToIfOps ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.ConvertConditionsToIfOps ### name - + Name of the pass. **Return type** @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.ConvertConditionsToIfOps ### run - + Run a pass on the DAGCircuit. This is implemented by the pass developer. **Parameters** @@ -81,7 +81,7 @@ python_api_name: qiskit.transpiler.passes.ConvertConditionsToIfOps ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.CountOps.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.CountOps.mdx index d296b2790d3..2b474b86cbd 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.CountOps.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.CountOps.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CountOps # CountOps - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Count the operations in a DAG circuit. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.CountOps ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.CountOps ### name - + Name of the pass. **Return type** @@ -67,13 +67,13 @@ python_api_name: qiskit.transpiler.passes.CountOps ### run - + Run the CountOps pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.CountOpsLongestPath.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.CountOpsLongestPath.mdx index 3b0fba47713..bcdd7430f01 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.CountOpsLongestPath.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.CountOpsLongestPath.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.CountOpsLongestPath # CountOpsLongestPath - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Count the operations on the longest path in a [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit"). @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.CountOpsLongestPath ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.CountOpsLongestPath ### name - + Name of the pass. **Return type** @@ -67,13 +67,13 @@ python_api_name: qiskit.transpiler.passes.CountOpsLongestPath ### run - + Run the CountOpsLongestPath pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.DAGFixedPoint.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.DAGFixedPoint.mdx index 673cea2d84c..44ab88fc268 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.DAGFixedPoint.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.DAGFixedPoint.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.DAGFixedPoint # DAGFixedPoint - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Check if the DAG has reached a fixed point. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.DAGFixedPoint ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.DAGFixedPoint ### name - + Name of the pass. **Return type** @@ -67,13 +67,13 @@ python_api_name: qiskit.transpiler.passes.DAGFixedPoint ### run - + Run the DAGFixedPoint pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.DAGLongestPath.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.DAGLongestPath.mdx index f7abb10c6f8..ef2041dc575 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.DAGLongestPath.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.DAGLongestPath.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.DAGLongestPath # DAGLongestPath - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Return the longest path in a [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") as a list of [`DAGOpNode`](qiskit.dagcircuit.DAGOpNode "qiskit.dagcircuit.DAGOpNode")s, [`DAGInNode`](qiskit.dagcircuit.DAGInNode "qiskit.dagcircuit.DAGInNode")s, and [`DAGOutNode`](qiskit.dagcircuit.DAGOutNode "qiskit.dagcircuit.DAGOutNode")s. @@ -35,7 +35,7 @@ python_api_name: qiskit.transpiler.passes.DAGLongestPath ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.passes.DAGLongestPath ### name - + Name of the pass. **Return type** @@ -65,13 +65,13 @@ python_api_name: qiskit.transpiler.passes.DAGLongestPath ### run - + Run the DAGLongestPath pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.Decompose.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.Decompose.mdx index 0e4e6ad1ccf..cf8457d886b 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.Decompose.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.Decompose.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Decompose # Decompose - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Expand a gate in a circuit using its decomposition rules. @@ -41,7 +41,7 @@ python_api_name: qiskit.transpiler.passes.Decompose ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -61,7 +61,7 @@ python_api_name: qiskit.transpiler.passes.Decompose ### name - + Name of the pass. **Return type** @@ -71,7 +71,7 @@ python_api_name: qiskit.transpiler.passes.Decompose ### run - + Run the Decompose pass on dag. **Parameters** @@ -89,7 +89,7 @@ python_api_name: qiskit.transpiler.passes.Decompose ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.DenseLayout.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.DenseLayout.mdx index 686517b58a9..ff7830468ca 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.DenseLayout.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.DenseLayout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.DenseLayout # DenseLayout - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Choose a Layout by finding the most connected subset of qubits. @@ -49,7 +49,7 @@ python_api_name: qiskit.transpiler.passes.DenseLayout ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -69,7 +69,7 @@ python_api_name: qiskit.transpiler.passes.DenseLayout ### name - + Name of the pass. **Return type** @@ -79,7 +79,7 @@ python_api_name: qiskit.transpiler.passes.DenseLayout ### run - + Run the DenseLayout pass on dag. Pick a convenient layout depending on the best matching qubit connectivity, and set the property layout. @@ -95,7 +95,7 @@ python_api_name: qiskit.transpiler.passes.DenseLayout ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.Depth.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.Depth.mdx index e5aa6720975..6949e1ffb04 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.Depth.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.Depth.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Depth # Depth - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Calculate the depth of a DAG circuit. @@ -39,7 +39,7 @@ python_api_name: qiskit.transpiler.passes.Depth ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -59,7 +59,7 @@ python_api_name: qiskit.transpiler.passes.Depth ### name - + Name of the pass. **Return type** @@ -69,13 +69,13 @@ python_api_name: qiskit.transpiler.passes.Depth ### run - + Run the Depth pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.DynamicalDecoupling.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.DynamicalDecoupling.mdx index 3c446e94dbf..4450db5921b 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.DynamicalDecoupling.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.DynamicalDecoupling.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.DynamicalDecoupling # DynamicalDecoupling - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Dynamical decoupling insertion pass. @@ -83,8 +83,8 @@ python_api_name: qiskit.transpiler.passes.DynamicalDecoupling Dynamical decoupling initializer. - - The class `qiskit.transpiler.passes.scheduling.dynamical_decoupling.DynamicalDecoupling` is pending deprecation as of qiskit 0.21.0. It will be marked deprecated in a future release, and then removed no earlier than 3 months after the release date. Instead, use [`PadDynamicalDecoupling`](qiskit.transpiler.passes.PadDynamicalDecoupling "qiskit.transpiler.passes.PadDynamicalDecoupling"), which performs the same function but requires scheduling and alignment analysis passes to run prior to it. + + The class `qiskit.transpiler.passes.scheduling.dynamical_decoupling.DynamicalDecoupling` is deprecated as of qiskit 1.1.0. It will be removed no earlier than 3 months after the release date. Instead, use [`PadDynamicalDecoupling`](qiskit.transpiler.passes.PadDynamicalDecoupling "qiskit.transpiler.passes.PadDynamicalDecoupling"), which performs the same function but requires scheduling and alignment analysis passes to run prior to it. **Parameters** @@ -118,7 +118,7 @@ python_api_name: qiskit.transpiler.passes.DynamicalDecoupling ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -138,7 +138,7 @@ python_api_name: qiskit.transpiler.passes.DynamicalDecoupling ### name - + Name of the pass. **Return type** @@ -148,7 +148,7 @@ python_api_name: qiskit.transpiler.passes.DynamicalDecoupling ### run - + Run the DynamicalDecoupling pass on dag. **Parameters** @@ -172,7 +172,7 @@ python_api_name: qiskit.transpiler.passes.DynamicalDecoupling ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.EchoRZXWeylDecomposition.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.EchoRZXWeylDecomposition.mdx index 949b907e2bd..fe7d823ac08 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.EchoRZXWeylDecomposition.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.EchoRZXWeylDecomposition.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.EchoRZXWeylDecomposition # EchoRZXWeylDecomposition - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Rewrite two-qubit gates using the Weyl decomposition. @@ -44,7 +44,7 @@ python_api_name: qiskit.transpiler.passes.EchoRZXWeylDecomposition ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -64,7 +64,7 @@ python_api_name: qiskit.transpiler.passes.EchoRZXWeylDecomposition ### name - + Name of the pass. **Return type** @@ -74,7 +74,7 @@ python_api_name: qiskit.transpiler.passes.EchoRZXWeylDecomposition ### run - + Run the EchoRZXWeylDecomposition pass on dag. Rewrites two-qubit gates in an arbitrary circuit in terms of echoed cross-resonance gates by computing the Weyl decomposition of the corresponding unitary. Modifies the input dag. @@ -98,7 +98,7 @@ python_api_name: qiskit.transpiler.passes.EchoRZXWeylDecomposition ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.EnlargeWithAncilla.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.EnlargeWithAncilla.mdx index 5f4f70d0e98..3c1e69e23e6 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.EnlargeWithAncilla.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.EnlargeWithAncilla.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.EnlargeWithAncilla # EnlargeWithAncilla - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Extend the dag with virtual qubits that are in layout but not in the circuit yet. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.EnlargeWithAncilla ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.EnlargeWithAncilla ### name - + Name of the pass. **Return type** @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.EnlargeWithAncilla ### run - + Run the EnlargeWithAncilla pass on dag. **Parameters** @@ -89,7 +89,7 @@ python_api_name: qiskit.transpiler.passes.EnlargeWithAncilla ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.FilterOpNodes.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.FilterOpNodes.mdx index d276ae301a3..e7931d3e230 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.FilterOpNodes.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.FilterOpNodes.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.FilterOpNodes # FilterOpNodes - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Remove all operations that match a filter function @@ -62,7 +62,7 @@ python_api_name: qiskit.transpiler.passes.FilterOpNodes ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -82,7 +82,7 @@ python_api_name: qiskit.transpiler.passes.FilterOpNodes ### name - + Name of the pass. **Return type** @@ -92,7 +92,7 @@ python_api_name: qiskit.transpiler.passes.FilterOpNodes ### run - + Run the RemoveBarriers pass on dag. **Return type** @@ -102,7 +102,7 @@ python_api_name: qiskit.transpiler.passes.FilterOpNodes ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.FixedPoint.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.FixedPoint.mdx index e2762eb1546..db671f2be5a 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.FixedPoint.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.FixedPoint.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.FixedPoint # FixedPoint - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Check if a property reached a fixed point. @@ -43,7 +43,7 @@ python_api_name: qiskit.transpiler.passes.FixedPoint ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -63,7 +63,7 @@ python_api_name: qiskit.transpiler.passes.FixedPoint ### name - + Name of the pass. **Return type** @@ -73,13 +73,13 @@ python_api_name: qiskit.transpiler.passes.FixedPoint ### run - + Run the FixedPoint pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.FullAncillaAllocation.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.FullAncillaAllocation.mdx index 4a6ec9e658f..2649b04aa31 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.FullAncillaAllocation.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.FullAncillaAllocation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.FullAncillaAllocation # FullAncillaAllocation - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Allocate all idle nodes from the coupling map or target as ancilla on the layout. @@ -47,7 +47,7 @@ python_api_name: qiskit.transpiler.passes.FullAncillaAllocation ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.FullAncillaAllocation ### name - + Name of the pass. **Return type** @@ -77,7 +77,7 @@ python_api_name: qiskit.transpiler.passes.FullAncillaAllocation ### run - + Run the FullAncillaAllocation pass on dag. Extend the layout with new (physical qubit, virtual qubit) pairs. The dag signals which virtual qubits are already in the circuit. This pass will allocate new virtual qubits such that no collision occurs (i.e. Layout bijectivity is preserved) @@ -103,7 +103,7 @@ python_api_name: qiskit.transpiler.passes.FullAncillaAllocation ### update\_status - + Update workflow status. **Parameters** @@ -122,7 +122,7 @@ python_api_name: qiskit.transpiler.passes.FullAncillaAllocation ### validate\_layout - + Checks if all the qregs in `layout_qregs` already exist in `dag_qregs`. Otherwise, raise. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.GateDirection.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.GateDirection.mdx index 17149aa9e06..8d654ab977e 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.GateDirection.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.GateDirection.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.GateDirection # GateDirection - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Modify asymmetric gates to match the hardware coupling direction. @@ -69,7 +69,7 @@ python_api_name: qiskit.transpiler.passes.GateDirection ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -89,7 +89,7 @@ python_api_name: qiskit.transpiler.passes.GateDirection ### name - + Name of the pass. **Return type** @@ -99,7 +99,7 @@ python_api_name: qiskit.transpiler.passes.GateDirection ### run - + Run the GateDirection pass on dag. Flips the cx nodes to match the directed coupling map. Modifies the input dag. @@ -123,7 +123,7 @@ python_api_name: qiskit.transpiler.passes.GateDirection ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.GatesInBasis.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.GatesInBasis.mdx index 82c5015364f..1c6e1c62e36 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.GatesInBasis.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.GatesInBasis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.GatesInBasis # GatesInBasis - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Check if all gates in a DAG are in a given set of gates @@ -42,7 +42,7 @@ python_api_name: qiskit.transpiler.passes.GatesInBasis ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -62,7 +62,7 @@ python_api_name: qiskit.transpiler.passes.GatesInBasis ### name - + Name of the pass. **Return type** @@ -72,13 +72,13 @@ python_api_name: qiskit.transpiler.passes.GatesInBasis ### run - + Run the GatesInBasis pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.HLSConfig.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.HLSConfig.mdx index 9badf9b95c5..70f68345340 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.HLSConfig.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.HLSConfig.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.HLSConfig # HLSConfig - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") 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. @@ -56,7 +56,7 @@ python_api_name: qiskit.transpiler.passes.HLSConfig ### set\_methods - + Sets the list of synthesis methods for a given higher-level-object. This overwrites the lists of methods if also set previously. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.HighLevelSynthesis.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.HighLevelSynthesis.mdx index 0b91710492a..90399d53aae 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.HighLevelSynthesis.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.HighLevelSynthesis.mdx @@ -8,12 +8,12 @@ python_api_name: qiskit.transpiler.passes.HighLevelSynthesis # HighLevelSynthesis - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Synthesize higher-level objects and unroll custom definitions. - The input to this pass is a DAG that may contain higher-level objects, including abstract mathematical objects (e.g., objects of type [`LinearFunction`](qiskit.circuit.library.LinearFunction "qiskit.circuit.library.LinearFunction")), annotated operations (objects of type `AnnotatedOperation`), and custom gates. + The input to this pass is a DAG that may contain higher-level objects, including abstract mathematical objects (e.g., objects of type [`LinearFunction`](qiskit.circuit.library.LinearFunction "qiskit.circuit.library.LinearFunction")), annotated operations (objects of type [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation")), and custom gates. In the most common use-case when either `basis_gates` or `target` is specified, all higher-level objects are synthesized, so the output is a [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") without such objects. More precisely, every gate in the output DAG is either directly supported by the target, or is in `equivalence_library`. @@ -69,7 +69,7 @@ python_api_name: qiskit.transpiler.passes.HighLevelSynthesis ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -89,7 +89,7 @@ python_api_name: qiskit.transpiler.passes.HighLevelSynthesis ### name - + Name of the pass. **Return type** @@ -99,7 +99,7 @@ python_api_name: qiskit.transpiler.passes.HighLevelSynthesis ### run - + Run the HighLevelSynthesis pass on dag. **Parameters** @@ -122,7 +122,7 @@ python_api_name: qiskit.transpiler.passes.HighLevelSynthesis ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.HoareOptimizer.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.HoareOptimizer.mdx index 24b5561959e..df310cae2b6 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.HoareOptimizer.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.HoareOptimizer.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.HoareOptimizer # HoareOptimizer - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") This is a transpiler pass using Hoare logic circuit optimization. The inner workings of this are detailed in: [https://arxiv.org/abs/1810.00375](https://arxiv.org/abs/1810.00375) @@ -43,7 +43,7 @@ python_api_name: qiskit.transpiler.passes.HoareOptimizer ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -63,7 +63,7 @@ python_api_name: qiskit.transpiler.passes.HoareOptimizer ### name - + Name of the pass. **Return type** @@ -73,7 +73,7 @@ python_api_name: qiskit.transpiler.passes.HoareOptimizer ### run - + **Parameters** **dag** ([*DAGCircuit*](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit")) – the directed acyclic graph to run on. @@ -89,7 +89,7 @@ python_api_name: qiskit.transpiler.passes.HoareOptimizer ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.InstructionDurationCheck.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.InstructionDurationCheck.mdx index 238686ab858..d5065ed1d90 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.InstructionDurationCheck.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.InstructionDurationCheck.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.InstructionDurationCheck # InstructionDurationCheck - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Duration validation pass for reschedule. @@ -25,6 +25,7 @@ python_api_name: qiskit.transpiler.passes.InstructionDurationCheck * **acquire\_alignment** – Integer number representing the minimum time resolution to trigger acquisition instruction in units of `dt`. * **pulse\_alignment** – Integer number representing the minimum time resolution to trigger gate instruction in units of `dt`. + * **target** – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") representing the target backend, if `target` is specified then this argument will take precedence and `acquire_alignment` and `pulse_alignment` will be ignored. ## Attributes @@ -48,7 +49,7 @@ python_api_name: qiskit.transpiler.passes.InstructionDurationCheck ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -68,7 +69,7 @@ python_api_name: qiskit.transpiler.passes.InstructionDurationCheck ### name - + Name of the pass. **Return type** @@ -78,7 +79,7 @@ python_api_name: qiskit.transpiler.passes.InstructionDurationCheck ### run - + Run duration validation passes. **Parameters** @@ -88,7 +89,7 @@ python_api_name: qiskit.transpiler.passes.InstructionDurationCheck ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.InverseCancellation.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.InverseCancellation.mdx index df63d10e620..2030f491af3 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.InverseCancellation.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.InverseCancellation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.InverseCancellation # InverseCancellation - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Cancel specific Gates which are inverses of each other when they occur back-to- back. @@ -45,7 +45,7 @@ python_api_name: qiskit.transpiler.passes.InverseCancellation ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.InverseCancellation ### name - + Name of the pass. **Return type** @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.InverseCancellation ### run - + Run the InverseCancellation pass on dag. **Parameters** @@ -93,7 +93,7 @@ python_api_name: qiskit.transpiler.passes.InverseCancellation ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.Layout2qDistance.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.Layout2qDistance.mdx index 79d7fd78581..c6030f1806e 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.Layout2qDistance.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.Layout2qDistance.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Layout2qDistance # Layout2qDistance - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Evaluate how good the layout selection was. @@ -44,7 +44,7 @@ python_api_name: qiskit.transpiler.passes.Layout2qDistance ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -64,7 +64,7 @@ python_api_name: qiskit.transpiler.passes.Layout2qDistance ### name - + Name of the pass. **Return type** @@ -74,13 +74,13 @@ python_api_name: qiskit.transpiler.passes.Layout2qDistance ### run - + Run the Layout2qDistance pass on dag. :param dag: DAG to evaluate. :type dag: DAGCircuit ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.LinearFunctionsToPermutations.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.LinearFunctionsToPermutations.mdx index 925db839e93..b3145fbd484 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.LinearFunctionsToPermutations.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.LinearFunctionsToPermutations.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.LinearFunctionsToPermutations # LinearFunctionsToPermutations - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Promotes linear functions to permutations when possible. @@ -35,7 +35,7 @@ python_api_name: qiskit.transpiler.passes.LinearFunctionsToPermutations ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.passes.LinearFunctionsToPermutations ### name - + Name of the pass. **Return type** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.LinearFunctionsToPermutations ### run - + Run the LinearFunctionsToPermutations pass on dag. :param dag: input dag. **Returns** @@ -79,7 +79,7 @@ python_api_name: qiskit.transpiler.passes.LinearFunctionsToPermutations ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.LookaheadSwap.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.LookaheadSwap.mdx index 170a61347b5..302ea28c051 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.LookaheadSwap.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.LookaheadSwap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.LookaheadSwap # LookaheadSwap - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Map input circuit onto a backend topology via insertion of SWAPs. @@ -60,7 +60,7 @@ python_api_name: qiskit.transpiler.passes.LookaheadSwap ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -80,7 +80,7 @@ python_api_name: qiskit.transpiler.passes.LookaheadSwap ### name - + Name of the pass. **Return type** @@ -90,7 +90,7 @@ python_api_name: qiskit.transpiler.passes.LookaheadSwap ### run - + Run the LookaheadSwap pass on dag. **Parameters** @@ -115,7 +115,7 @@ python_api_name: qiskit.transpiler.passes.LookaheadSwap ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.MergeAdjacentBarriers.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.MergeAdjacentBarriers.mdx index e61893300ef..ac46682ef78 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.MergeAdjacentBarriers.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.MergeAdjacentBarriers.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.MergeAdjacentBarriers # MergeAdjacentBarriers - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Return a circuit with any adjacent barriers merged together. @@ -72,7 +72,7 @@ python_api_name: qiskit.transpiler.passes.MergeAdjacentBarriers ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -92,7 +92,7 @@ python_api_name: qiskit.transpiler.passes.MergeAdjacentBarriers ### name - + Name of the pass. **Return type** @@ -102,13 +102,13 @@ python_api_name: qiskit.transpiler.passes.MergeAdjacentBarriers ### run - + Run the MergeAdjacentBarriers pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.MinimumPoint.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.MinimumPoint.mdx index d9312595c39..377cd0a6422 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.MinimumPoint.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.MinimumPoint.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.MinimumPoint # MinimumPoint - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Check if the DAG has reached a relative semi-stable point over previous runs @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.passes.MinimumPoint ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.MinimumPoint ### name - + Name of the pass. **Return type** @@ -85,13 +85,13 @@ python_api_name: qiskit.transpiler.passes.MinimumPoint ### run - + Run the MinimumPoint pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.NormalizeRXAngle.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.NormalizeRXAngle.mdx index a8366fdb45a..d836f9e3e76 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.NormalizeRXAngle.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.NormalizeRXAngle.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.NormalizeRXAngle # NormalizeRXAngle - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Normalize theta parameter of RXGate instruction. @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.NormalizeRXAngle ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -77,7 +77,7 @@ python_api_name: qiskit.transpiler.passes.NormalizeRXAngle ### name - + Name of the pass. **Return type** @@ -87,12 +87,12 @@ python_api_name: qiskit.transpiler.passes.NormalizeRXAngle ### quantize\_angles - + Quantize the RX rotation angles by assigning the same value for the angles that differ within a resolution provided by the user. **Parameters** - * **qubit** ([*qiskit.circuit.Qubit*](qiskit.circuit.Qubit "qiskit.circuit.Qubit")) – This will be the dict key to access the list of quantized rotation angles. + * **qubit** ([*qiskit.circuit.Qubit*](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit")) – This will be the dict key to access the list of quantized rotation angles. * **original\_angle** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – Original rotation angle, before quantization. **Returns** @@ -106,7 +106,7 @@ python_api_name: qiskit.transpiler.passes.NormalizeRXAngle ### run - + Run the NormalizeRXAngle pass on `dag`. **Parameters** @@ -124,7 +124,7 @@ python_api_name: qiskit.transpiler.passes.NormalizeRXAngle ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.NumTensorFactors.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.NumTensorFactors.mdx index 6f82e916ca6..59d98a37a90 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.NumTensorFactors.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.NumTensorFactors.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.NumTensorFactors # NumTensorFactors - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Calculate the number of tensor factors of a DAG circuit. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.NumTensorFactors ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.NumTensorFactors ### name - + Name of the pass. **Return type** @@ -67,13 +67,13 @@ python_api_name: qiskit.transpiler.passes.NumTensorFactors ### run - + Run the NumTensorFactors pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.Optimize1qGates.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.Optimize1qGates.mdx index 721a6ac6232..150c9b8a9b8 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.Optimize1qGates.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.Optimize1qGates.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGates # Optimize1qGates - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Optimize chains of single-qubit u1, u2, u3 gates by combining them into a single gate. @@ -43,7 +43,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGates ### compose\_u3 - + Return a triple theta, phi, lambda for the product. **u3(theta, phi, lambda)** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGates ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGates ### name - + Name of the pass. **Return type** @@ -85,7 +85,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGates ### run - + Run the Optimize1qGates pass on dag. **Parameters** @@ -107,7 +107,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGates ### update\_status - + Update workflow status. **Parameters** @@ -126,7 +126,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGates ### yzy\_to\_zyz - + Express a Y.Z.Y single qubit gate as a Z.Y.Z gate. Solve the equation diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.Optimize1qGatesDecomposition.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.Optimize1qGatesDecomposition.mdx index 2f1e61f4d8c..be6dc407382 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.Optimize1qGatesDecomposition.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.Optimize1qGatesDecomposition.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesDecomposition # Optimize1qGatesDecomposition - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Optimize chains of single-qubit gates by combining them into a single gate. @@ -51,7 +51,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesDecomposition ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -71,7 +71,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesDecomposition ### name - + Name of the pass. **Return type** @@ -81,7 +81,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesDecomposition ### run - + Run the Optimize1qGatesDecomposition pass on dag. **Parameters** @@ -99,7 +99,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesDecomposition ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation.mdx index 37a0ac6c185..8868a67d380 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation # Optimize1qGatesSimpleCommutation - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Optimizes 1Q gate strings interrupted by 2Q gates by commuting the components and resynthesizing the results. The commutation rules are stored in `commutation_table`. @@ -47,7 +47,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation ### name - + Name of the pass. **Return type** @@ -77,7 +77,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation ### run - + **Parameters** **dag** ([*DAGCircuit*](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit")) – the DAG to be optimized. @@ -93,7 +93,7 @@ python_api_name: qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.OptimizeAnnotated.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.OptimizeAnnotated.mdx index 4b7e1d14496..8ef4fb10d03 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.OptimizeAnnotated.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.OptimizeAnnotated.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeAnnotated # OptimizeAnnotated - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Optimization pass on circuits with annotated operations. @@ -50,7 +50,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeAnnotated ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -70,7 +70,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeAnnotated ### name - + Name of the pass. **Return type** @@ -80,7 +80,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeAnnotated ### run - + Run the OptimizeAnnotated pass on dag. **Parameters** @@ -98,7 +98,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeAnnotated ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.OptimizeCliffords.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.OptimizeCliffords.mdx index dfc8e7ea1ad..0a6094d260a 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.OptimizeCliffords.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.OptimizeCliffords.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeCliffords # OptimizeCliffords - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Combine consecutive Cliffords over the same qubits. This serves as an example of extra capabilities enabled by storing Cliffords natively on the circuit. @@ -35,7 +35,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeCliffords ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeCliffords ### name - + Name of the pass. **Return type** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeCliffords ### run - + Run the OptimizeCliffords pass on dag. **Parameters** @@ -83,7 +83,7 @@ python_api_name: qiskit.transpiler.passes.OptimizeCliffords ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.PadDelay.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.PadDelay.mdx index 4283bca5fb2..5ca45f5fef2 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.PadDelay.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.PadDelay.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.PadDelay # PadDelay - + Bases: `BasePadding` Padding idle time with Delay instructions. @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.PadDelay ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -87,7 +87,7 @@ python_api_name: qiskit.transpiler.passes.PadDelay ### name - + Name of the pass. **Return type** @@ -97,7 +97,7 @@ python_api_name: qiskit.transpiler.passes.PadDelay ### run - + Run the padding pass on `dag`. **Parameters** @@ -119,7 +119,7 @@ python_api_name: qiskit.transpiler.passes.PadDelay ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.PadDynamicalDecoupling.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.PadDynamicalDecoupling.mdx index 0ae7e4386be..651f98c7e1c 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.PadDynamicalDecoupling.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.PadDynamicalDecoupling.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.PadDynamicalDecoupling # PadDynamicalDecoupling - + Bases: `BasePadding` Dynamical decoupling insertion pass. @@ -125,7 +125,7 @@ python_api_name: qiskit.transpiler.passes.PadDynamicalDecoupling ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -145,7 +145,7 @@ python_api_name: qiskit.transpiler.passes.PadDynamicalDecoupling ### name - + Name of the pass. **Return type** @@ -155,7 +155,7 @@ python_api_name: qiskit.transpiler.passes.PadDynamicalDecoupling ### run - + Run the padding pass on `dag`. **Parameters** @@ -177,7 +177,7 @@ python_api_name: qiskit.transpiler.passes.PadDynamicalDecoupling ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.PulseGates.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.PulseGates.mdx index 0a825974a62..dac54689da3 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.PulseGates.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.PulseGates.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.PulseGates # PulseGates - + Bases: `CalibrationBuilder` Pulse gate adding pass. @@ -54,7 +54,7 @@ python_api_name: qiskit.transpiler.passes.PulseGates ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -74,7 +74,7 @@ python_api_name: qiskit.transpiler.passes.PulseGates ### get\_calibration - + Gets the calibrated schedule for the given instruction and qubits. **Parameters** @@ -97,7 +97,7 @@ python_api_name: qiskit.transpiler.passes.PulseGates ### name - + Name of the pass. **Return type** @@ -107,7 +107,7 @@ python_api_name: qiskit.transpiler.passes.PulseGates ### run - + Run the calibration adder pass on dag. **Parameters** @@ -125,7 +125,7 @@ python_api_name: qiskit.transpiler.passes.PulseGates ### supported - + Determine if a given node supports the calibration. **Parameters** @@ -144,7 +144,7 @@ python_api_name: qiskit.transpiler.passes.PulseGates ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.RXCalibrationBuilder.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.RXCalibrationBuilder.mdx index 5ca528793bf..b8fe10c804f 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.RXCalibrationBuilder.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.RXCalibrationBuilder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder # RXCalibrationBuilder - + Bases: `CalibrationBuilder` Add single-pulse RX calibrations that are bootstrapped from the SX calibration. @@ -85,7 +85,7 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -105,7 +105,7 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder ### get\_calibration - + Generate RX calibration for the rotation angle specified in node\_op. **Return type** @@ -115,7 +115,7 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder ### name - + Name of the pass. **Return type** @@ -125,7 +125,7 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder ### run - + Run the calibration adder pass on dag. **Parameters** @@ -143,7 +143,7 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder ### supported - + Check if the calibration for SX gate exists and it’s a single DRAG pulse. **Return type** @@ -153,7 +153,7 @@ python_api_name: qiskit.transpiler.passes.RXCalibrationBuilder ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.RZXCalibrationBuilder.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.RZXCalibrationBuilder.mdx index 02456ec7a64..2e35ce9c0a3 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.RZXCalibrationBuilder.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.RZXCalibrationBuilder.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder # RZXCalibrationBuilder - + Bases: `CalibrationBuilder` Creates calibrations for RZXGate(theta) by stretching and compressing Gaussian square pulses in the CX gate. This is done by retrieving (for a given pair of qubits) the CX schedule in the instruction schedule map of the backend defaults. The CX schedule must be an echoed cross-resonance gate optionally with rotary tones. The cross-resonance drive tones and rotary pulses must be Gaussian square pulses. The width of the Gaussian square pulse is adjusted so as to match the desired rotation angle. If the rotation angle is small such that the width disappears then the amplitude of the zero width Gaussian square pulse (i.e. a Gaussian) is reduced to reach the target rotation angle. Additional details can be found in [https://arxiv.org/abs/2012.11660](https://arxiv.org/abs/2012.11660). @@ -47,7 +47,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder ### get\_calibration - + Builds the calibration schedule for the RZXGate(theta) with echos. **Parameters** @@ -92,7 +92,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder ### name - + Name of the pass. **Return type** @@ -102,7 +102,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder ### rescale\_cr\_inst - + A builder macro to play stretched pulse. **Parameters** @@ -126,7 +126,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder ### run - + Run the calibration adder pass on dag. **Parameters** @@ -144,7 +144,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder ### supported - + Determine if a given node supports the calibration. **Parameters** @@ -163,7 +163,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilder ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho.mdx index 5276d99d8e7..5f5c9f928b5 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho # RZXCalibrationBuilderNoEcho - + Bases: [`RZXCalibrationBuilder`](qiskit.transpiler.passes.RZXCalibrationBuilder "qiskit.transpiler.passes.calibration.rzx_builder.RZXCalibrationBuilder") Creates calibrations for RZXGate(theta) by stretching and compressing Gaussian square pulses in the CX gate. @@ -49,7 +49,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -69,7 +69,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho ### get\_calibration - + Builds the calibration schedule for the RZXGate(theta) without echos. **Parameters** @@ -94,7 +94,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho ### name - + Name of the pass. **Return type** @@ -104,7 +104,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho ### rescale\_cr\_inst - + A builder macro to play stretched pulse. **Parameters** @@ -128,7 +128,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho ### run - + Run the calibration adder pass on dag. **Parameters** @@ -146,7 +146,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho ### supported - + Determine if a given node supports the calibration. **Parameters** @@ -165,7 +165,7 @@ python_api_name: qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveBarriers.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveBarriers.mdx index 90c280c6924..c2b2df8bde8 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveBarriers.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveBarriers.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.RemoveBarriers # RemoveBarriers - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Return a circuit with any barrier removed. @@ -54,7 +54,7 @@ python_api_name: qiskit.transpiler.passes.RemoveBarriers ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -74,7 +74,7 @@ python_api_name: qiskit.transpiler.passes.RemoveBarriers ### name - + Name of the pass. **Return type** @@ -84,7 +84,7 @@ python_api_name: qiskit.transpiler.passes.RemoveBarriers ### run - + Run the RemoveBarriers pass on dag. **Return type** @@ -94,7 +94,7 @@ python_api_name: qiskit.transpiler.passes.RemoveBarriers ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure.mdx index 13c8b9467ec..f3764b51889 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure # RemoveDiagonalGatesBeforeMeasure - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Remove diagonal gates (including diagonal 2Q gates) before a measurement. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure ### name - + Name of the pass. **Return type** @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure ### run - + Run the RemoveDiagonalGatesBeforeMeasure pass on dag. **Parameters** @@ -85,7 +85,7 @@ python_api_name: qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveFinalMeasurements.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveFinalMeasurements.mdx index 0147bd46764..9554b6e0110 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveFinalMeasurements.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveFinalMeasurements.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.RemoveFinalMeasurements # RemoveFinalMeasurements - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Remove final measurements and barriers at the end of a circuit. @@ -39,7 +39,7 @@ python_api_name: qiskit.transpiler.passes.RemoveFinalMeasurements ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -59,7 +59,7 @@ python_api_name: qiskit.transpiler.passes.RemoveFinalMeasurements ### name - + Name of the pass. **Return type** @@ -69,7 +69,7 @@ python_api_name: qiskit.transpiler.passes.RemoveFinalMeasurements ### run - + Run the RemoveFinalMeasurements pass on dag. **Parameters** @@ -87,7 +87,7 @@ python_api_name: qiskit.transpiler.passes.RemoveFinalMeasurements ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveFinalReset.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveFinalReset.mdx new file mode 100644 index 00000000000..aa8b5c5dc7d --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveFinalReset.mdx @@ -0,0 +1,103 @@ +--- +title: RemoveFinalReset +description: API reference for qiskit.transpiler.passes.RemoveFinalReset +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.transpiler.passes.RemoveFinalReset +--- + +# RemoveFinalReset + + + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") + + Remove reset when it is the final instruction on a qubit wire. + + ## Attributes + + ### is\_analysis\_pass + + + Check if the pass is an analysis pass. + + If the pass is an AnalysisPass, that means that the pass can analyze the DAG and write the results of that analysis in the property set. Modifications on the DAG are not allowed by this kind of pass. + + + ### is\_transformation\_pass + + + Check if the pass is a transformation pass. + + If the pass is a TransformationPass, that means that the pass can manipulate the DAG, but cannot modify the property set (but it can be read). + + + ## Methods + + ### execute + + + Execute optimization task for input Qiskit IR. + + **Parameters** + + * **passmanager\_ir** ([*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")) – Qiskit IR to optimize. + * **state** ([*PassManagerState*](qiskit.passmanager.PassManagerState "qiskit.passmanager.compilation_status.PassManagerState")) – State associated with workflow execution by the pass manager itself. + * **callback** ([*Callable*](https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable "(in Python v3.12)") *| None*) – A callback function which is caller per execution of optimization task. + + **Returns** + + Optimized Qiskit IR and state of the workflow. + + **Return type** + + [tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")\[[*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)"), [qiskit.passmanager.compilation\_status.PassManagerState](qiskit.passmanager.PassManagerState "qiskit.passmanager.compilation_status.PassManagerState")] + + + ### name + + + Name of the pass. + + **Return type** + + [str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") + + + ### run + + + Run the RemoveFinalReset pass on dag. + + **Parameters** + + **dag** ([*DAGCircuit*](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit")) – the DAG to be optimized. + + **Returns** + + the optimized DAG. + + **Return type** + + [DAGCircuit](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") + + + ### update\_status + + + Update workflow status. + + **Parameters** + + * **state** ([*PassManagerState*](qiskit.passmanager.PassManagerState "qiskit.passmanager.compilation_status.PassManagerState")) – Pass manager state to update. + * **run\_state** (*RunState*) – Completion status of current task. + + **Returns** + + Updated pass manager state. + + **Return type** + + [*PassManagerState*](qiskit.passmanager.PassManagerState "qiskit.passmanager.compilation_status.PassManagerState") + + + diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveResetInZeroState.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveResetInZeroState.mdx index 31a6bad2488..de8b4374e1d 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveResetInZeroState.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.RemoveResetInZeroState.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.RemoveResetInZeroState # RemoveResetInZeroState - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Remove reset gate when the qubit is in zero state. @@ -35,7 +35,7 @@ python_api_name: qiskit.transpiler.passes.RemoveResetInZeroState ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -55,7 +55,7 @@ python_api_name: qiskit.transpiler.passes.RemoveResetInZeroState ### name - + Name of the pass. **Return type** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.RemoveResetInZeroState ### run - + Run the RemoveResetInZeroState pass on dag. **Parameters** @@ -83,7 +83,7 @@ python_api_name: qiskit.transpiler.passes.RemoveResetInZeroState ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.ResetAfterMeasureSimplification.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.ResetAfterMeasureSimplification.mdx index 8eb556b237a..e340ffe9696 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.ResetAfterMeasureSimplification.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.ResetAfterMeasureSimplification.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ResetAfterMeasureSimplification # ResetAfterMeasureSimplification - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") This pass replaces reset after measure with a conditional X gate. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.ResetAfterMeasureSimplification ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.ResetAfterMeasureSimplification ### name - + Name of the pass. **Return type** @@ -67,13 +67,13 @@ python_api_name: qiskit.transpiler.passes.ResetAfterMeasureSimplification ### run - + Run the pass on a dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.SabreLayout.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.SabreLayout.mdx index c27c2d065ba..7495bf2783a 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.SabreLayout.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.SabreLayout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.SabreLayout # SabreLayout - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Choose a Layout via iterative bidirectional routing of the input circuit. @@ -129,7 +129,7 @@ python_api_name: qiskit.transpiler.passes.SabreLayout ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -149,7 +149,7 @@ python_api_name: qiskit.transpiler.passes.SabreLayout ### name - + Name of the pass. **Return type** @@ -159,7 +159,7 @@ python_api_name: qiskit.transpiler.passes.SabreLayout ### run - + Run the SabreLayout pass on dag. **Parameters** @@ -183,7 +183,7 @@ python_api_name: qiskit.transpiler.passes.SabreLayout ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.SabrePreLayout.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.SabrePreLayout.mdx index 58a5c6a5786..5f2f2e51ae5 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.SabrePreLayout.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.SabrePreLayout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.SabrePreLayout # SabrePreLayout - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Choose a starting layout to use for additional Sabre layout trials. @@ -99,7 +99,7 @@ python_api_name: qiskit.transpiler.passes.SabrePreLayout ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -119,7 +119,7 @@ python_api_name: qiskit.transpiler.passes.SabrePreLayout ### name - + Name of the pass. **Return type** @@ -129,7 +129,7 @@ python_api_name: qiskit.transpiler.passes.SabrePreLayout ### run - + Run the SabrePreLayout pass on dag. The discovered starting layout is written to the property set value `sabre_starting_layouts`. @@ -141,7 +141,7 @@ python_api_name: qiskit.transpiler.passes.SabrePreLayout ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.SabreSwap.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.SabreSwap.mdx index 9a36050025e..e68a3da97f0 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.SabreSwap.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.SabreSwap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.SabreSwap # SabreSwap - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Map input circuit onto a backend topology via insertion of SWAPs. @@ -95,7 +95,7 @@ python_api_name: qiskit.transpiler.passes.SabreSwap ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -115,7 +115,7 @@ python_api_name: qiskit.transpiler.passes.SabreSwap ### name - + Name of the pass. **Return type** @@ -125,7 +125,7 @@ python_api_name: qiskit.transpiler.passes.SabreSwap ### run - + Run the SabreSwap pass on dag. **Parameters** @@ -148,7 +148,7 @@ python_api_name: qiskit.transpiler.passes.SabreSwap ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.SetIOLatency.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.SetIOLatency.mdx index b2c4f892823..8655ce56fd0 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.SetIOLatency.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.SetIOLatency.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.SetIOLatency # SetIOLatency - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Set IOLatency information to the input circuit. @@ -46,7 +46,7 @@ python_api_name: qiskit.transpiler.passes.SetIOLatency ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -66,7 +66,7 @@ python_api_name: qiskit.transpiler.passes.SetIOLatency ### name - + Name of the pass. **Return type** @@ -76,7 +76,7 @@ python_api_name: qiskit.transpiler.passes.SetIOLatency ### run - + Add IO latency information. **Parameters** @@ -86,7 +86,7 @@ python_api_name: qiskit.transpiler.passes.SetIOLatency ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.SetLayout.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.SetLayout.mdx index 423ea46fa70..806b9271d88 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.SetLayout.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.SetLayout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.SetLayout # SetLayout - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Set the `layout` property to the given layout. @@ -48,7 +48,7 @@ python_api_name: qiskit.transpiler.passes.SetLayout ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -68,7 +68,7 @@ python_api_name: qiskit.transpiler.passes.SetLayout ### name - + Name of the pass. **Return type** @@ -78,7 +78,7 @@ python_api_name: qiskit.transpiler.passes.SetLayout ### run - + Run the SetLayout pass on `dag`. **Parameters** @@ -96,7 +96,7 @@ python_api_name: qiskit.transpiler.passes.SetLayout ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.Size.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.Size.mdx index a08545e09a6..23e76c18db1 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.Size.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.Size.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Size # Size - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Calculate the size of a DAG circuit. @@ -41,7 +41,7 @@ python_api_name: qiskit.transpiler.passes.Size ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -61,7 +61,7 @@ python_api_name: qiskit.transpiler.passes.Size ### name - + Name of the pass. **Return type** @@ -71,13 +71,13 @@ python_api_name: qiskit.transpiler.passes.Size ### run - + Run the Size pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.SolovayKitaev.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.SolovayKitaev.mdx index 47762b9880c..296c16adcdd 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.SolovayKitaev.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.SolovayKitaev.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.SolovayKitaev # SolovayKitaev - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Approximately decompose 1q gates to a discrete basis using the Solovay-Kitaev algorithm. @@ -124,7 +124,7 @@ python_api_name: qiskit.transpiler.passes.SolovayKitaev ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -144,7 +144,7 @@ python_api_name: qiskit.transpiler.passes.SolovayKitaev ### name - + Name of the pass. **Return type** @@ -154,7 +154,7 @@ python_api_name: qiskit.transpiler.passes.SolovayKitaev ### run - + Run the `SolovayKitaev` pass on dag. **Parameters** @@ -176,7 +176,7 @@ python_api_name: qiskit.transpiler.passes.SolovayKitaev ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.StochasticSwap.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.StochasticSwap.mdx index f0cc3565c3b..ba4c0430045 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.StochasticSwap.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.StochasticSwap.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.StochasticSwap # StochasticSwap - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Map a DAGCircuit onto a coupling\_map adding swap gates. @@ -56,7 +56,7 @@ python_api_name: qiskit.transpiler.passes.StochasticSwap ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -76,7 +76,7 @@ python_api_name: qiskit.transpiler.passes.StochasticSwap ### name - + Name of the pass. **Return type** @@ -86,7 +86,7 @@ python_api_name: qiskit.transpiler.passes.StochasticSwap ### run - + Run the StochasticSwap pass on dag. **Parameters** @@ -109,7 +109,7 @@ python_api_name: qiskit.transpiler.passes.StochasticSwap ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.TemplateOptimization.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.TemplateOptimization.mdx index 8fbc88f7c28..883b0251b88 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.TemplateOptimization.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.TemplateOptimization.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.TemplateOptimization # TemplateOptimization - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Class for the template optimization pass. @@ -42,7 +42,7 @@ python_api_name: qiskit.transpiler.passes.TemplateOptimization ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -62,7 +62,7 @@ python_api_name: qiskit.transpiler.passes.TemplateOptimization ### name - + Name of the pass. **Return type** @@ -72,7 +72,7 @@ python_api_name: qiskit.transpiler.passes.TemplateOptimization ### run - + **Parameters** **dag** ([*DAGCircuit*](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit")) – DAG circuit. @@ -92,7 +92,7 @@ python_api_name: qiskit.transpiler.passes.TemplateOptimization ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.TimeUnitConversion.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.TimeUnitConversion.mdx index a25550f8845..63706b4231a 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.TimeUnitConversion.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.TimeUnitConversion.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.TimeUnitConversion # TimeUnitConversion - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Choose a time unit to be used in the following time-aware passes, and make all circuit time units consistent with that. @@ -50,7 +50,7 @@ python_api_name: qiskit.transpiler.passes.TimeUnitConversion ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -70,7 +70,7 @@ python_api_name: qiskit.transpiler.passes.TimeUnitConversion ### name - + Name of the pass. **Return type** @@ -80,7 +80,7 @@ python_api_name: qiskit.transpiler.passes.TimeUnitConversion ### run - + Run the TimeUnitAnalysis pass on dag. **Parameters** @@ -102,7 +102,7 @@ python_api_name: qiskit.transpiler.passes.TimeUnitConversion ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.TranslateParameterizedGates.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.TranslateParameterizedGates.mdx index f311ed28ea9..9c65cf758f3 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.TranslateParameterizedGates.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.TranslateParameterizedGates.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.TranslateParameterizedGates # TranslateParameterizedGates - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Translate parameterized gates to a supported basis set. @@ -92,7 +92,7 @@ python_api_name: qiskit.transpiler.passes.TranslateParameterizedGates ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -112,7 +112,7 @@ python_api_name: qiskit.transpiler.passes.TranslateParameterizedGates ### name - + Name of the pass. **Return type** @@ -122,7 +122,7 @@ python_api_name: qiskit.transpiler.passes.TranslateParameterizedGates ### run - + Run the transpiler pass. **Parameters** @@ -144,7 +144,7 @@ python_api_name: qiskit.transpiler.passes.TranslateParameterizedGates ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.TrivialLayout.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.TrivialLayout.mdx index 4e1ee4ccdfa..4eeeadebd43 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.TrivialLayout.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.TrivialLayout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.TrivialLayout # TrivialLayout - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Choose a Layout by assigning `n` circuit qubits to device qubits `0, .., n-1`. @@ -51,7 +51,7 @@ python_api_name: qiskit.transpiler.passes.TrivialLayout ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -71,7 +71,7 @@ python_api_name: qiskit.transpiler.passes.TrivialLayout ### name - + Name of the pass. **Return type** @@ -81,7 +81,7 @@ python_api_name: qiskit.transpiler.passes.TrivialLayout ### run - + Run the TrivialLayout pass on dag. **Parameters** @@ -95,7 +95,7 @@ python_api_name: qiskit.transpiler.passes.TrivialLayout ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.UnitarySynthesis.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.UnitarySynthesis.mdx index acdc530e067..7339f70ba52 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.UnitarySynthesis.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.UnitarySynthesis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.UnitarySynthesis # UnitarySynthesis - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Synthesize gates according to their basis gates. @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.UnitarySynthesis ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -77,7 +77,7 @@ python_api_name: qiskit.transpiler.passes.UnitarySynthesis ### name - + Name of the pass. **Return type** @@ -87,7 +87,7 @@ python_api_name: qiskit.transpiler.passes.UnitarySynthesis ### run - + Run the UnitarySynthesis pass on `dag`. **Parameters** @@ -105,7 +105,7 @@ python_api_name: qiskit.transpiler.passes.UnitarySynthesis ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.Unroll3qOrMore.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.Unroll3qOrMore.mdx index ec82e06e798..2b2ae9c731a 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.Unroll3qOrMore.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.Unroll3qOrMore.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Unroll3qOrMore # Unroll3qOrMore - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Recursively expands 3q+ gates until the circuit only contains 2q or 1q gates. @@ -42,7 +42,7 @@ python_api_name: qiskit.transpiler.passes.Unroll3qOrMore ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -62,7 +62,7 @@ python_api_name: qiskit.transpiler.passes.Unroll3qOrMore ### name - + Name of the pass. **Return type** @@ -72,7 +72,7 @@ python_api_name: qiskit.transpiler.passes.Unroll3qOrMore ### run - + Run the Unroll3qOrMore pass on dag. **Parameters** @@ -94,7 +94,7 @@ python_api_name: qiskit.transpiler.passes.Unroll3qOrMore ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.UnrollCustomDefinitions.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.UnrollCustomDefinitions.mdx index 82654508141..e65579184c9 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.UnrollCustomDefinitions.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.UnrollCustomDefinitions.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.UnrollCustomDefinitions # UnrollCustomDefinitions - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") Unrolls instructions with custom definitions. @@ -53,7 +53,7 @@ python_api_name: qiskit.transpiler.passes.UnrollCustomDefinitions ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -73,7 +73,7 @@ python_api_name: qiskit.transpiler.passes.UnrollCustomDefinitions ### name - + Name of the pass. **Return type** @@ -83,7 +83,7 @@ python_api_name: qiskit.transpiler.passes.UnrollCustomDefinitions ### run - + Run the UnrollCustomDefinitions pass on dag. **Parameters** @@ -106,7 +106,7 @@ python_api_name: qiskit.transpiler.passes.UnrollCustomDefinitions ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.UnrollForLoops.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.UnrollForLoops.mdx index d4900f11f95..362081348fe 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.UnrollForLoops.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.UnrollForLoops.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.UnrollForLoops # UnrollForLoops - + Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.transpiler.basepasses.TransformationPass") `UnrollForLoops` transpilation pass unrolls for-loops when possible. @@ -45,7 +45,7 @@ python_api_name: qiskit.transpiler.passes.UnrollForLoops ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -65,7 +65,7 @@ python_api_name: qiskit.transpiler.passes.UnrollForLoops ### name - + Name of the pass. **Return type** @@ -75,7 +75,7 @@ python_api_name: qiskit.transpiler.passes.UnrollForLoops ### run - + Run the UnrollForLoops pass on `dag`. **Parameters** @@ -93,7 +93,7 @@ python_api_name: qiskit.transpiler.passes.UnrollForLoops ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.VF2Layout.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.VF2Layout.mdx index 88f3226fc11..e5e3c94ac2d 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.VF2Layout.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.VF2Layout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.VF2Layout # VF2Layout - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") A pass for choosing a Layout of a circuit onto a Coupling graph, as a subgraph isomorphism problem, solved by VF2++. @@ -71,7 +71,7 @@ python_api_name: qiskit.transpiler.passes.VF2Layout ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -91,7 +91,7 @@ python_api_name: qiskit.transpiler.passes.VF2Layout ### name - + Name of the pass. **Return type** @@ -101,13 +101,13 @@ python_api_name: qiskit.transpiler.passes.VF2Layout ### run - + run the layout method ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.VF2PostLayout.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.VF2PostLayout.mdx index 5f3a3fe60d6..1887ea20b96 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.VF2PostLayout.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.VF2PostLayout.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.VF2PostLayout # VF2PostLayout - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") A pass for improving an existing Layout after transpilation of a circuit onto a Coupling graph, as a subgraph isomorphism problem, solved by VF2++. @@ -74,7 +74,7 @@ python_api_name: qiskit.transpiler.passes.VF2PostLayout ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -94,7 +94,7 @@ python_api_name: qiskit.transpiler.passes.VF2PostLayout ### name - + Name of the pass. **Return type** @@ -104,13 +104,13 @@ python_api_name: qiskit.transpiler.passes.VF2PostLayout ### run - + run the layout method ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.ValidatePulseGates.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.ValidatePulseGates.mdx index bd35ab3e36c..580919b3f76 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.ValidatePulseGates.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.ValidatePulseGates.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.ValidatePulseGates # ValidatePulseGates - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Check custom gate length. @@ -27,6 +27,7 @@ python_api_name: qiskit.transpiler.passes.ValidatePulseGates * **granularity** – Integer number representing the minimum time resolution to define the pulse gate length in units of `dt`. This value depends on the control electronics of your quantum processor. * **min\_length** – Integer number representing the minimum data point length to define the pulse gate in units of `dt`. This value depends on the control electronics of your quantum processor. + * **target** – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") representing the target backend, if `target` is specified then this argument will take precedence and `granularity` and `min_length` will be ignored. ## Attributes @@ -50,7 +51,7 @@ python_api_name: qiskit.transpiler.passes.ValidatePulseGates ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -70,7 +71,7 @@ python_api_name: qiskit.transpiler.passes.ValidatePulseGates ### name - + Name of the pass. **Return type** @@ -80,7 +81,7 @@ python_api_name: qiskit.transpiler.passes.ValidatePulseGates ### run - + Run the pulse gate validation attached to `dag`. **Parameters** @@ -102,7 +103,7 @@ python_api_name: qiskit.transpiler.passes.ValidatePulseGates ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.Width.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.Width.mdx index 72cbb136441..201f69ac5c1 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.Width.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.Width.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.Width # Width - + Bases: [`AnalysisPass`](qiskit.transpiler.AnalysisPass "qiskit.transpiler.basepasses.AnalysisPass") Calculate the width of a DAG circuit. @@ -37,7 +37,7 @@ python_api_name: qiskit.transpiler.passes.Width ### execute - + Execute optimization task for input Qiskit IR. **Parameters** @@ -57,7 +57,7 @@ python_api_name: qiskit.transpiler.passes.Width ### name - + Name of the pass. **Return type** @@ -67,13 +67,13 @@ python_api_name: qiskit.transpiler.passes.Width ### run - + Run the Width pass on dag. ### update\_status - + Update workflow status. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugin.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugin.mdx index 2c73a8b513b..21ad30ae6d2 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugin.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugin.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugi # AQCSynthesisPlugin - + Bases: [`UnitarySynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin") An AQC-based Qiskit unitary synthesis plugin. @@ -157,7 +157,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugi ### run - + Run synthesis for the given unitary matrix **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation.mdx index 3d05b0c0383..b5038621baf 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynt # ACGSynthesisPermutation - + 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. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynt ### run - + Run synthesis for the given Permutation. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford.mdx index 00255429fe6..5e03891cb8e 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynth # AGSynthesisClifford - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") Clifford synthesis plugin based on the Aaronson-Gottesman method. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynth ### run - + Run synthesis for the given Clifford. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford.mdx index 626755bd906..a99464ad6d7 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynth # BMSynthesisClifford - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") Clifford synthesis plugin based on the Bravyi-Maslov method. @@ -21,7 +21,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynth ### run - + Run synthesis for the given Clifford. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation.mdx index 35b08e4bcec..9d1abbdb43e 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSy # BasicSynthesisPermutation - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") The permutation synthesis plugin based on sorting. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSy ### run - + Run synthesis for the given Permutation. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford.mdx index ee101ce09a7..68604a56ff6 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.Default # DefaultSynthesisClifford - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") The default clifford synthesis plugin. @@ -21,7 +21,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.Default ### run - + Run synthesis for the given Clifford. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction.mdx index aa411f6a8c1..8b073c24318 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.Default # DefaultSynthesisLinearFunction - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") The default linear function synthesis plugin. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.Default ### run - + Run synthesis for the given LinearFunction. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford.mdx index f4167d20215..59c9f39a427 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedyS # GreedySynthesisClifford - + 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. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedyS ### run - + Run synthesis for the given Clifford. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction.mdx index 0723d94fa78..a1b4ba56e9f 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynt # KMSSynthesisLinearFunction - + 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. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynt ### run - + Run synthesis for the given LinearFunction. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation.mdx index cd82401e35c..e568c8c176e 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynt # KMSSynthesisPermutation - + 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. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynt ### run - + Run synthesis for the given Permutation. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford.mdx index 6ccce669dec..7d24e9b4577 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLn # LayerLnnSynthesisClifford - + 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. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLn ### run - + Run synthesis for the given Clifford. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford.mdx index 88ff1b561c9..25c6435e921 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSy # LayerSynthesisClifford - + 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. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSy ### run - + Run synthesis for the given Clifford. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction.mdx index cdfeaeda4ab..47adb5680ad 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynt # PMHSynthesisLinearFunction - + 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. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynt ### run - + Run synthesis for the given LinearFunction. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation.mdx index 6ff1bde1fb9..4ea2da04445 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSw # TokenSwapperSynthesisPermutation - + Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") The permutation synthesis plugin based on the token swapper algorithm. @@ -33,7 +33,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSw ### run - + Run synthesis for the given Permutation. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin.mdx index 897a652f0ec..e0b684b7285 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlu # HighLevelSynthesisPlugin - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Abstract high-level synthesis plugin class. @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlu ### run - + Run synthesis for the given Operation. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPluginManager.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPluginManager.mdx index a48d492f39e..419f74629d1 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPluginManager.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPluginManager.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlu # HighLevelSynthesisPluginManager - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Class tracking the installed high-level-synthesis plugins. @@ -17,13 +17,13 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlu ### method - + Returns the plugin for `op_name` and `method_name`. ### method\_names - + Returns plugin methods for op\_name. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin.mdx index f5052fcb5a2..b3d795923db 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugi # UnitarySynthesisPlugin - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") Abstract unitary synthesis plugin class @@ -176,7 +176,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugi ### run - + Run synthesis for the given unitary matrix **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPluginManager.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPluginManager.mdx index 5d3fa8037c8..6faf38d2005 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPluginManager.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPluginManager.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugi # UnitarySynthesisPluginManager - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Unitary Synthesis plugin manager class diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.high_level_synthesis_plugin_names.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.high_level_synthesis_plugin_names.mdx index 15912d286c2..c8acdd2caa2 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.high_level_synthesis_plugin_names.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.high_level_synthesis_plugin_names.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.high_level_synthesis_ # qiskit.transpiler.passes.synthesis.plugin.high\_level\_synthesis\_plugin\_names - + Return a list of plugin names installed for a given high level object name **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plugin_names.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plugin_names.mdx index 41ccd71b59d..e8805ebfb15 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plugin_names.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plugin_names.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plu # qiskit.transpiler.passes.synthesis.plugin.unitary\_synthesis\_plugin\_names - + Return a list of installed unitary synthesis plugin names **Returns** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.SolovayKitaevSynthesis.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.SolovayKitaevSynthesis.mdx index fdddf1865f9..587763e9537 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.SolovayKitaevSynthesis.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.SolovayKitaevSynthesis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.Sol # SolovayKitaevSynthesis - + Bases: [`UnitarySynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin") A Solovay-Kitaev Qiskit unitary synthesis plugin. @@ -149,7 +149,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.Sol ### run - + Run synthesis for the given unitary matrix **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.mdx b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.mdx index bc4b5a1d941..5e51afc3f2e 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUni # DefaultUnitarySynthesis - + Bases: [`UnitarySynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin") The default unitary synthesis plugin. @@ -67,7 +67,7 @@ python_api_name: qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUni ### run - + Run synthesis for the given unitary matrix **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin.mdx b/docs/api/qiskit/dev/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin.mdx index 791dc52de80..47cdf805efd 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePl # PassManagerStagePlugin - + Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") A `PassManagerStagePlugin` is a plugin interface object for using custom stages in [`transpile()`](compiler#qiskit.compiler.transpile "qiskit.compiler.transpile"). @@ -19,7 +19,7 @@ python_api_name: qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePl ### pass\_manager - + This method is designed to return a [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") for the stage this implements **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePluginManager.mdx b/docs/api/qiskit/dev/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePluginManager.mdx index 86ae70e6898..49a2c06ed55 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePluginManager.mdx +++ b/docs/api/qiskit/dev/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePluginManager.mdx @@ -8,7 +8,7 @@ python_api_name: qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePl # PassManagerStagePluginManager - + Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") Manager class for preset pass manager stage plugins. @@ -17,7 +17,7 @@ python_api_name: qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePl ### get\_passmanager\_stage - + Get a stage **Return type** diff --git a/docs/api/qiskit/dev/qiskit.visualization.array_to_latex.mdx b/docs/api/qiskit/dev/qiskit.visualization.array_to_latex.mdx index caedaecc30a..bdb24acbdfa 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.array_to_latex.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.array_to_latex.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.array_to_latex # qiskit.visualization.array\_to\_latex - + Latex representation of a complex numpy array (with dimension 1 or 2) **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.visualization.circuit_drawer.mdx b/docs/api/qiskit/dev/qiskit.visualization.circuit_drawer.mdx index a34635da504..90aa76e9574 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.circuit_drawer.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.circuit_drawer.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.circuit_drawer # qiskit.visualization.circuit\_drawer - + Draw the quantum circuit. Use the output parameter to choose the drawing format: **text**: ASCII art TextDrawing that can be printed in the console. diff --git a/docs/api/qiskit/dev/qiskit.visualization.dag_drawer.mdx b/docs/api/qiskit/dev/qiskit.visualization.dag_drawer.mdx index 3faac515c15..0eb11cb87ce 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.dag_drawer.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.dag_drawer.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.dag_drawer # 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)") function from the `rustworkx` package to draw the DAG. diff --git a/docs/api/qiskit/dev/qiskit.visualization.pass_manager_drawer.mdx b/docs/api/qiskit/dev/qiskit.visualization.pass_manager_drawer.mdx index 313e22e7bbb..55efc4dde20 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.pass_manager_drawer.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.pass_manager_drawer.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.pass_manager_drawer # qiskit.visualization.pass\_manager\_drawer - + Draws the pass manager. This function needs [pydot](https://github.com/pydot/pydot), which in turn needs [Graphviz](https://www.graphviz.org/) to be installed. diff --git a/docs/api/qiskit/dev/qiskit.visualization.plot_bloch_multivector.mdx b/docs/api/qiskit/dev/qiskit.visualization.plot_bloch_multivector.mdx index 56f017068c3..cebfc8586ec 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_bloch_multivector.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_bloch_multivector.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_bloch_multivector # qiskit.visualization.plot\_bloch\_multivector - + Plot a Bloch sphere for each qubit. Each component $(x,y,z)$ of the Bloch sphere labeled as ‘qubit i’ represents the expected value of the corresponding Pauli operator acting only on that qubit, that is, the expected value of $I_{N-1} \otimes\dotsb\otimes I_{i+1}\otimes P_i \otimes I_{i-1}\otimes\dotsb\otimes I_0$, where $N$ is the number of qubits, $P\in \{X,Y,Z\}$ and $I$ is the identity operator. @@ -31,7 +31,7 @@ python_api_name: qiskit.visualization.plot_bloch_multivector **Return type** - [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.3)") + [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.4)") **Raises** diff --git a/docs/api/qiskit/dev/qiskit.visualization.plot_bloch_vector.mdx b/docs/api/qiskit/dev/qiskit.visualization.plot_bloch_vector.mdx index 44466e8069b..c8c66c9acf7 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_bloch_vector.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_bloch_vector.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_bloch_vector # qiskit.visualization.plot\_bloch\_vector - + Plot the Bloch sphere. Plot a Bloch sphere with the specified coordinates, that can be given in both cartesian and spherical systems. @@ -19,7 +19,7 @@ python_api_name: qiskit.visualization.plot_bloch_vector * **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.3)")) – 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.4)")) – 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. @@ -30,7 +30,7 @@ python_api_name: qiskit.visualization.plot_bloch_vector **Return type** - [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.3)") + [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.4)") **Raises** diff --git a/docs/api/qiskit/dev/qiskit.visualization.plot_circuit_layout.mdx b/docs/api/qiskit/dev/qiskit.visualization.plot_circuit_layout.mdx index d5f6ade50ca..a1b1a5a01c2 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_circuit_layout.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_circuit_layout.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_circuit_layout # qiskit.visualization.plot\_circuit\_layout - + Plot the layout of a circuit transpiled for a given target backend. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.visualization.plot_coupling_map.mdx b/docs/api/qiskit/dev/qiskit.visualization.plot_coupling_map.mdx index 4253a1d7d20..822b462e2e8 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_coupling_map.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_coupling_map.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_coupling_map # qiskit.visualization.plot\_coupling\_map - + Plots an arbitrary coupling map of qubits (embedded in a plane). **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.visualization.plot_distribution.mdx b/docs/api/qiskit/dev/qiskit.visualization.plot_distribution.mdx index 4d5edcec034..c4faa73b73b 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_distribution.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_distribution.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_distribution # qiskit.visualization.plot\_distribution - + Plot a distribution from input sampled data. **Parameters** @@ -24,7 +24,7 @@ python_api_name: qiskit.visualization.plot_distribution * **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.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. + * **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.4)")) – 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_error_map.mdx b/docs/api/qiskit/dev/qiskit.visualization.plot_error_map.mdx index e34f08c611a..4e6cbd26fc7 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_error_map.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_error_map.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_error_map # qiskit.visualization.plot\_error\_map - + Plots the error map of a given backend. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.visualization.plot_gate_map.mdx b/docs/api/qiskit/dev/qiskit.visualization.plot_gate_map.mdx index b6bdc4e9b49..f6fb6614e8b 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_gate_map.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_gate_map.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_gate_map # qiskit.visualization.plot\_gate\_map - + Plots the gate map of a device. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.visualization.plot_histogram.mdx b/docs/api/qiskit/dev/qiskit.visualization.plot_histogram.mdx index 04265acad91..54048a47c4b 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_histogram.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_histogram.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_histogram # qiskit.visualization.plot\_histogram - + Plot a histogram of input counts data. **Parameters** @@ -24,7 +24,7 @@ python_api_name: qiskit.visualization.plot_histogram * **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.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. + * **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.4)")) – 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.mdx b/docs/api/qiskit/dev/qiskit.visualization.plot_state_city.mdx index b2ee0620d56..94b6dcfcb84 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_state_city.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_state_city.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_state_city # qiskit.visualization.plot\_state\_city - + Plot the cityscape of quantum state. Plot two 3d bar graphs (two dimensional) of the real and imaginary part of the density matrix rho. @@ -22,8 +22,8 @@ python_api_name: qiskit.visualization.plot_state_city * **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.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. + * **ax\_real** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.4)")) – 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.4)")) – 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** @@ -31,7 +31,7 @@ python_api_name: qiskit.visualization.plot_state_city **Return type** - [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.3)") + [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.4)") **Raises** diff --git a/docs/api/qiskit/dev/qiskit.visualization.plot_state_hinton.mdx b/docs/api/qiskit/dev/qiskit.visualization.plot_state_hinton.mdx index c18f82bc42c..df55cdb1943 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_state_hinton.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_state_hinton.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_state_hinton # qiskit.visualization.plot\_state\_hinton - + Plot a hinton diagram for the density matrix of a quantum state. The hinton diagram represents the values of a matrix using squares, whose size indicate the magnitude of their corresponding value and their color, its sign. A white square means the value is positive and a black one means negative. @@ -21,8 +21,8 @@ python_api_name: qiskit.visualization.plot_state_hinton * **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.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. + * **ax\_real** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.4)")) – 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.4)")) – 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** @@ -30,7 +30,7 @@ python_api_name: qiskit.visualization.plot_state_hinton **Return type** - [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.3)") + [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.4)") **Raises** diff --git a/docs/api/qiskit/dev/qiskit.visualization.plot_state_paulivec.mdx b/docs/api/qiskit/dev/qiskit.visualization.plot_state_paulivec.mdx index 0613272f0ec..554c66dd802 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_state_paulivec.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_state_paulivec.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.plot_state_paulivec # qiskit.visualization.plot\_state\_paulivec - + Plot the Pauli-vector representation of a quantum state as bar graph. The Pauli-vector of a density matrix $\rho$ is defined by the expectation of each possible tensor product of single-qubit Pauli operators (including the identity), that is @@ -28,7 +28,7 @@ $$ * **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.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. + * **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.4)")) – 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** @@ -36,7 +36,7 @@ $$ **Return type** - [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.3)") + [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.4)") **Raises** diff --git a/docs/api/qiskit/dev/qiskit.visualization.plot_state_qsphere.mdx b/docs/api/qiskit/dev/qiskit.visualization.plot_state_qsphere.mdx index 72d7d98d958..cd71ecf3537 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_state_qsphere.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_state_qsphere.mdx @@ -10,14 +10,14 @@ python_api_name: qiskit.visualization.plot_state_qsphere # qiskit.visualization.plot\_state\_qsphere - + Plot the qsphere representation of a quantum state. Here, the size of the points is proportional to the probability of the corresponding term in the state and the color represents the phase. **Parameters** * **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.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. + * **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.4)")) – 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. @@ -28,7 +28,7 @@ python_api_name: qiskit.visualization.plot_state_qsphere **Return type** - [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.3)") + [`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.4)") **Raises** diff --git a/docs/api/qiskit/dev/qiskit.visualization.timeline_drawer.mdx b/docs/api/qiskit/dev/qiskit.visualization.timeline_drawer.mdx index c614ab6cb17..4f7a9d26bd8 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.timeline_drawer.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.timeline_drawer.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.timeline_drawer # qiskit.visualization.timeline\_drawer - + Generate visualization data for scheduled circuit programs. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.visualization.visualize_transition.mdx b/docs/api/qiskit/dev/qiskit.visualization.visualize_transition.mdx index 80038bee320..e1e2a5b49c5 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.visualize_transition.mdx +++ b/docs/api/qiskit/dev/qiskit.visualization.visualize_transition.mdx @@ -10,7 +10,7 @@ python_api_name: qiskit.visualization.visualize_transition # qiskit.visualization.visualize\_transition - + Creates animation showing transitions between states of a single qubit by applying quantum gates. **Parameters** diff --git a/docs/api/qiskit/dev/qpy.mdx b/docs/api/qiskit/dev/qpy.mdx index c892834e7bf..d77cb82915c 100644 --- a/docs/api/qiskit/dev/qpy.mdx +++ b/docs/api/qiskit/dev/qpy.mdx @@ -57,7 +57,7 @@ and then loading that file will return a list with all the circuits ### load - + Load a QPY binary file This function is used to load a serialized QPY Qiskit program file and create [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") objects or [`ScheduleBlock`](qiskit.pulse.ScheduleBlock "qiskit.pulse.schedule.ScheduleBlock") objects from its contents. For example: @@ -102,7 +102,7 @@ and then loading that file will return a list with all the circuits ### dump - + Write QPY binary data to a file This function is used to save a circuit to a file for later use or transfer between machines. The QPY format is backwards compatible and can be loaded with future versions of Qiskit. @@ -166,7 +166,7 @@ These functions will raise a custom subclass of [`QiskitError`](exceptions#qiski ### QpyError - + Errors raised by the qpy module. Set the error message. @@ -202,7 +202,7 @@ If a feature being loaded is deprecated in the corresponding qiskit release, QPY ### QPYLoadingDeprecatedFeatureWarning - + Visible deprecation warning for QPY loading functions without a stable point in the call stack. @@ -249,7 +249,7 @@ There is a circuit payload for each circuit (where the total number is dictated ### Version 11 -Version 11 is identical to Version 10 except for the following. First, the names in the CUSTOM\_INSTRUCTION blocks have a suffix of the form `"_{uuid_hex}"` where `uuid_hex` is a uuid hexadecimal string such as returned by `UUID.hex`. For example: `"b3ecab5b4d6a4eb6bc2b2dbf18d83e1e"`. Second, it adds support for `AnnotatedOperation` objects. The base operation of an annotated operation is stored using the INSTRUCTION block, and an additional `type` value `'a'``is added to indicate that the custom instruction is an annotated operation. The list of modifiers are stored as instruction parameters using INSTRUCTION_PARAM, with an additional value ``'m'` is added to indicate that the parameter is of type `Modifier`. Each modifier is stored using the MODIFIER struct. +Version 11 is identical to Version 10 except for the following. First, the names in the CUSTOM\_INSTRUCTION blocks have a suffix of the form `"_{uuid_hex}"` where `uuid_hex` is a uuid hexadecimal string such as returned by `UUID.hex`. For example: `"b3ecab5b4d6a4eb6bc2b2dbf18d83e1e"`. Second, it adds support for [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation") objects. The base operation of an annotated operation is stored using the INSTRUCTION block, and an additional `type` value `'a'``is added to indicate that the custom instruction is an annotated operation. The list of modifiers are stored as instruction parameters using INSTRUCTION_PARAM, with an additional value ``'m'` is added to indicate that the parameter is of type `Modifier`. Each modifier is stored using the MODIFIER struct. @@ -266,7 +266,7 @@ struct { } ``` -This is sufficient to store different types of modifiers required for serializing objects of type `AnnotatedOperation`. The field `type` is either `'i'`, `'c'` or `'p'`, representing whether the modifier is respectively an inverse modifier, a control modifier or a power modifier. In the second case, the fields `num_ctrl_qubits` and `ctrl_state` specify the control logic of the base operation, and in the third case the field `power` represents the power of the base operation. +This is sufficient to store different types of modifiers required for serializing objects of type [`AnnotatedOperation`](qiskit.circuit.AnnotatedOperation "qiskit.circuit.AnnotatedOperation"). The field `type` is either `'i'`, `'c'` or `'p'`, representing whether the modifier is respectively an inverse modifier, a control modifier or a power modifier. In the second case, the fields `num_ctrl_qubits` and `ctrl_state` specify the control logic of the base operation, and in the third case the field `power` represents the power of the base operation. @@ -352,10 +352,10 @@ A [`Type`](circuit_classical#qiskit.circuit.classical.types.Type "qiskit.circuit This represents a runtime variable of a [`Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") node. These are a type code, followed by a type-code-specific payload: -| Python class | Type code | Payload | -| ------------------------------------------------------------------------------------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------- | -| [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") | `C` | One `uint32_t index` that is the index of the [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") in the containing circuit. | -| [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") | `R` | One `uint16_t reg_name_size`, followed by that many bytes of UTF-8 string data of the register name. | +| Python class | Type code | Payload | +| -------------------------------------------------------------------------------------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") | `C` | One `uint32_t index` that is the index of the [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") in the containing circuit. | +| [`ClassicalRegister`](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") | `R` | One `uint16_t reg_name_size`, followed by that many bytes of UTF-8 string data of the register name. | @@ -392,7 +392,7 @@ where the only change is that a `uint8_t conditional_key` entry has replaced `_B | Value | Effects | | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 0 | The instruction has its `.condition` field set to `None`. The `conditional_reg_name_size` and `conditional_value` fields should be ignored. | -| 1 | The instruction has its `.condition` field set to a 2-tuple of either a [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") or a [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister"), and a integer of value `conditional_value`. The INSTRUCTION payload, including its trailing data is parsed exactly as it would be in QPY versions less than 8. | +| 1 | The instruction has its `.condition` field set to a 2-tuple of either a [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") or a [`ClassicalRegister`](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister"), and a integer of value `conditional_value`. The INSTRUCTION payload, including its trailing data is parsed exactly as it would be in QPY versions less than 8. | | 2 | The instruction has its `.condition` field set to a [`Expr`](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr") node. The `conditional_reg_name_size` and `conditional_value` fields should be ignored. The data following the struct is followed (as in QPY versions less than 8) by `name_size` bytes of UTF-8 string data for the class name and `label_size` bytes of UTF-8 string data for the label (if any). Then, there is one INSTRUCTION\_PARAM, which will contain an EXPRESSION. After that, parsing continues with the INSTRUCTION\_ARG structs, as in previous versions of QPY. | @@ -473,7 +473,7 @@ New type key character is added to the [SCHEDULE\_BLOCK\_OPERANDS](#qpy-schedule Note that this is the same encoding with the built-in Python string, however, the standard value encoding in QPY uses `s` type character for string data, which conflicts with the [`SymbolicPulse`](qiskit.pulse.library.SymbolicPulse "qiskit.pulse.library.SymbolicPulse") in the scope of pulse instruction operands. A special type character `o` is reserved for the string data that appears in the pulse instruction operands. -In addition, version 7 adds two new type keys to the INSTRUCTION\_PARM struct. `"d"` is followed by no data and represents the literal value [`CASE_DEFAULT`](circuit#qiskit.circuit.CASE_DEFAULT "qiskit.circuit.CASE_DEFAULT") for switch-statement support. `"R"` represents a [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") or [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit"), and is followed by the same format as the description of register or classical bit as used in the first element of [the condition of an INSTRUCTION field](#qpy-instructions). +In addition, version 7 adds two new type keys to the INSTRUCTION\_PARM struct. `"d"` is followed by no data and represents the literal value [`CASE_DEFAULT`](circuit#qiskit.circuit.CASE_DEFAULT "qiskit.circuit.CASE_DEFAULT") for switch-statement support. `"R"` represents a [`ClassicalRegister`](circuit#qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") or [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit"), and is followed by the same format as the description of register or classical bit as used in the first element of [the condition of an INSTRUCTION field](#qpy-instructions). diff --git a/docs/api/qiskit/dev/quantum_info.mdx b/docs/api/qiskit/dev/quantum_info.mdx index 533dc6d225d..4d1d98b1eb1 100644 --- a/docs/api/qiskit/dev/quantum_info.mdx +++ b/docs/api/qiskit/dev/quantum_info.mdx @@ -58,7 +58,7 @@ python_api_name: qiskit.quantum_info ### average\_gate\_fidelity - + Return the average gate fidelity of a noisy quantum channel. The average gate fidelity $F_{\text{ave}}$ is given by @@ -98,7 +98,7 @@ $$ ### process\_fidelity - + Return the process fidelity of a noisy quantum channel. The process fidelity $F_{\text{pro}}(\mathcal{E}, \mathcal{F})$ between two quantum channels $\mathcal{E}, \mathcal{F}$ is given by @@ -145,7 +145,7 @@ $$ ### gate\_error - + Return the gate error of a noisy quantum channel. The gate error $E$ is given by the average gate infidelity @@ -180,7 +180,7 @@ $$ ### diamond\_norm - + Return the diamond norm of the input quantum channel object. This function computes the completely-bounded trace-norm (often referred to as the diamond-norm) of the input quantum channel object using the semidefinite-program from reference \[1]. @@ -218,7 +218,7 @@ $$ ### state\_fidelity - + Return the state fidelity between two quantum states. The state fidelity $F$ for density matrix input states $\rho_1, \rho_2$ is given by @@ -252,7 +252,7 @@ $$ ### purity - + Calculate the purity of a quantum state. The purity of a density matrix $\rho$ is @@ -281,7 +281,7 @@ $$ ### concurrence - + Calculate the concurrence of a quantum state. The concurrence of a bipartite [`Statevector`](qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector") $|\psi\rangle$ is given by @@ -321,7 +321,7 @@ $$ ### entropy - + Calculate the von-Neumann entropy of a quantum state. The entropy $S$ is given by @@ -350,7 +350,7 @@ $$ ### entanglement\_of\_formation - + Calculate the entanglement of formation of quantum state. The input quantum state must be either a bipartite state vector, or a 2-qubit density matrix. @@ -376,7 +376,7 @@ $$ ### mutual\_information - + Calculate the mutual information of a bipartite state. The mutual information $I$ is given by: @@ -414,7 +414,7 @@ $$ ### partial\_trace - + Return reduced density matrix by tracing out part of quantum state. If all subsystems are traced over this returns the [`trace()`](qiskit.quantum_info.DensityMatrix#trace "qiskit.quantum_info.DensityMatrix.trace") of the input state. @@ -439,7 +439,7 @@ $$ ### schmidt\_decomposition - + Return the Schmidt Decomposition of a pure quantum state. For an arbitrary bipartite state: @@ -487,7 +487,7 @@ $$ ### shannon\_entropy - + Compute the Shannon entropy of a probability vector. The shannon entropy of a probability vector $\vec{p} = [p_0, ..., p_{n-1}]$ is defined as @@ -514,7 +514,7 @@ $$ ### commutator - + Compute commutator of a and b. $$ @@ -537,7 +537,7 @@ $$ ### anti\_commutator - + Compute anti-commutator of a and b. $$ @@ -560,7 +560,7 @@ $$ ### double\_commutator - + Compute symmetric double commutator of a, b and c. See also Equation (13.6.18) in \[1]. @@ -607,7 +607,7 @@ $$ ### random\_statevector - + Generator a random Statevector. The statevector is sampled from the uniform distribution. This is the measure induced by the Haar measure on unitary matrices. @@ -632,7 +632,7 @@ $$ ### random\_density\_matrix - + Generator a random DensityMatrix. **Parameters** @@ -657,7 +657,7 @@ $$ ### random\_unitary - + Return a random unitary Operator. The operator is sampled from the unitary Haar measure. @@ -678,7 +678,7 @@ $$ ### random\_hermitian - + Return a random hermitian Operator. The operator is sampled from Gaussian Unitary Ensemble. @@ -700,7 +700,7 @@ $$ ### random\_pauli - + Return a random Pauli. **Parameters** @@ -720,7 +720,7 @@ $$ ### random\_clifford - + Return a random Clifford operator. The Clifford is sampled using the method of Reference \[1]. @@ -745,7 +745,7 @@ $$ ### random\_quantum\_channel - + Return a random CPTP quantum channel. This constructs the Stinespring operator for the quantum channel by sampling a random isometry from the unitary Haar measure. @@ -772,7 +772,7 @@ $$ ### random\_cnotdihedral - + Return a random CNOTDihedral element. **Parameters** @@ -791,7 +791,7 @@ $$ ### random\_pauli\_list - + Return a random PauliList. **Parameters** @@ -814,7 +814,7 @@ $$ ### hellinger\_distance - + Computes the Hellinger distance between two counts distributions. **Parameters** @@ -837,7 +837,7 @@ $$ ### hellinger\_fidelity - + Computes the Hellinger fidelity between two counts distributions. The fidelity is defined as $\left(1-H^{2}\right)^{2}$ where H is the Hellinger distance. This value is bounded in the range \[0, 1]. diff --git a/docs/api/qiskit/dev/result.mdx b/docs/api/qiskit/dev/result.mdx index ad8ceef0dc4..60d65177a1c 100644 --- a/docs/api/qiskit/dev/result.mdx +++ b/docs/api/qiskit/dev/result.mdx @@ -26,7 +26,7 @@ python_api_name: qiskit.result ### marginal\_counts - + Marginalize counts from an experiment over some indices of interest. **Parameters** @@ -54,7 +54,7 @@ python_api_name: qiskit.result ### marginal\_distribution - + Marginalize counts from an experiment over some indices of interest. Unlike [`marginal_counts()`](#qiskit.result.marginal_counts "qiskit.result.marginal_counts") this function respects the order of the input `indices`. If the input `indices` list is specified then the order the bit indices are specified will be the output order of the bitstrings in the marginalized output. @@ -81,7 +81,7 @@ python_api_name: qiskit.result ### marginal\_memory - + Marginalize shot memory This function is multithreaded and will launch a thread pool with threads equal to the number of CPUs by default. You can tune the number of threads with the `RAYON_NUM_THREADS` environment variable. For example, setting `RAYON_NUM_THREADS=4` would limit the thread pool to 4 threads. @@ -119,7 +119,7 @@ python_api_name: qiskit.result ### sampled\_expectation\_value - + Computes expectation value from a sampled distribution Note that passing a raw dict requires bit-string keys. diff --git a/docs/api/qiskit/dev/scheduler.mdx b/docs/api/qiskit/dev/scheduler.mdx index c650e87b87f..b66ad7d1d15 100644 --- a/docs/api/qiskit/dev/scheduler.mdx +++ b/docs/api/qiskit/dev/scheduler.mdx @@ -20,7 +20,7 @@ python_api_name: qiskit.scheduler A circuit scheduler compiles a circuit program to a pulse program. - + Configuration for pulse scheduling. Container for information needed to schedule a QuantumCircuit into a pulse Schedule. @@ -34,7 +34,7 @@ A circuit scheduler compiles a circuit program to a pulse program. ### schedule\_circuit - + Basic scheduling pass from a circuit to a pulse Schedule, using the backend. If no method is specified, then a basic, as late as possible scheduling pass is performed, i.e. pulses are scheduled to occur as late as possible. Supported methods: @@ -68,7 +68,7 @@ Pulse scheduling methods. ### as\_soon\_as\_possible - + Return the pulse Schedule which implements the input circuit using an “as soon as possible” (asap) scheduling policy. Circuit instructions are first each mapped to equivalent pulse Schedules according to the command definition given by the schedule\_config. Then, this circuit instruction-equivalent Schedule is appended at the earliest time at which all qubits involved in the instruction are available. @@ -90,7 +90,7 @@ Pulse scheduling methods. ### as\_late\_as\_possible - + Return the pulse Schedule which implements the input circuit using an “as late as possible” (alap) scheduling policy. Circuit instructions are first each mapped to equivalent pulse Schedules according to the command definition given by the schedule\_config. Then, this circuit instruction-equivalent Schedule is appended at the latest time that it can be without allowing unnecessary time between instructions or allowing instructions with common qubits to overlap. diff --git a/docs/api/qiskit/dev/synthesis.mdx b/docs/api/qiskit/dev/synthesis.mdx index 1b8f08d887b..16a6ec5cdb1 100644 --- a/docs/api/qiskit/dev/synthesis.mdx +++ b/docs/api/qiskit/dev/synthesis.mdx @@ -35,7 +35,7 @@ python_api_name: qiskit.synthesis ### synth\_cnot\_count\_full\_pmh - + 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 \times n$ matrix. @@ -64,7 +64,7 @@ python_api_name: qiskit.synthesis ### synth\_cnot\_depth\_line\_kms - + Synthesize linear reversible circuit for linear nearest-neighbor architectures using Kutin, Moulton, Smithline method. 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$. @@ -94,7 +94,7 @@ python_api_name: qiskit.synthesis ### synth\_cz\_depth\_line\_mr - + 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 [`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")). @@ -118,7 +118,7 @@ python_api_name: qiskit.synthesis ### synth\_cx\_cz\_depth\_line\_my - + Joint synthesis of a -CZ-CX- circuit for linear nearest neighbour (LNN) connectivity, with 2-qubit depth at most 5n, based on Maslov and Yang. This method computes the CZ circuit inside the CX circuit via phase gate insertions. **Parameters** @@ -142,7 +142,7 @@ python_api_name: qiskit.synthesis ### synth\_cnot\_phase\_aam - + This function is an implementation of the GraySynth algorithm of Amy, Azimadeh and Mosca. GraySynth is a heuristic algorithm from \[1] for synthesizing small parity networks. It is inspired by Gray codes. Given a set of binary strings $S$ (called `cnots` bellow), the algorithm synthesizes a parity network for $S$ by repeatedly choosing an index $i$ to expand and then effectively recursing on the co-factors $S_0$ and $S_1$, consisting of the strings $y \in S$, with $y_i = 0$ or $1$ respectively. As a subset $S$ is recursively expanded, `cx` gates are applied so that a designated target bit contains the (partial) parity $\chi_y(x)$ where $y_i = 1$ if and only if $y'_i = 1$ for all $y' \in S$. If $S$ contains a single element $\{y'\}$, then $y = y'$, and the target bit contains the value $\chi_{y'}(x)$ as desired. @@ -195,7 +195,7 @@ python_api_name: qiskit.synthesis ### synth\_permutation\_depth\_lnn\_kms - + Synthesize a permutation circuit for a linear nearest-neighbor architecture using the Kutin, Moulton, Smithline method. This is the permutation synthesis algorithm from \[1], section 6. It synthesizes any permutation of n qubits over linear nearest-neighbor architecture using SWAP gates with depth at most $n$ and size at most $n(n-1)/2$ (where both depth and size are measured with respect to SWAPs). @@ -219,7 +219,7 @@ python_api_name: qiskit.synthesis ### synth\_permutation\_basic - + Synthesize a permutation circuit for a fully-connected architecture using sorting. More precisely, if the input permutation is a cycle of length `m`, then this creates a quantum circuit with `m-1` SWAPs (and of depth `m-1`); if the input permutation consists of several disjoint cycles, then each cycle is essentially treated independently. @@ -239,7 +239,7 @@ python_api_name: qiskit.synthesis ### synth\_permutation\_acg - + Synthesize a permutation circuit for a fully-connected architecture using the Alon, Chung, Graham method. This produces a quantum circuit of depth 2 (measured in the number of SWAPs). @@ -268,7 +268,7 @@ python_api_name: qiskit.synthesis ### synth\_clifford\_full - + Decompose a [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") operator into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). 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]. @@ -295,7 +295,7 @@ python_api_name: qiskit.synthesis ### synth\_clifford\_ag - + 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** @@ -317,7 +317,7 @@ python_api_name: qiskit.synthesis ### synth\_clifford\_bm - + 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** @@ -343,7 +343,7 @@ python_api_name: qiskit.synthesis ### synth\_clifford\_greedy - + 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. @@ -373,7 +373,7 @@ python_api_name: qiskit.synthesis ### synth\_clifford\_layers - + 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: @@ -418,7 +418,7 @@ python_api_name: qiskit.synthesis ### synth\_clifford\_depth\_lnn - + 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 $7n+2$, which is not optimal. It should be replaced by a better algorithm that provides depth bounded by $7n-4$ \[3]. @@ -446,7 +446,7 @@ python_api_name: qiskit.synthesis ### synth\_cnotdihedral\_full - + 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]. @@ -471,7 +471,7 @@ python_api_name: qiskit.synthesis ### synth\_cnotdihedral\_two\_qubits - + 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** @@ -497,7 +497,7 @@ python_api_name: qiskit.synthesis ### synth\_cnotdihedral\_general - + 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`](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"). @@ -527,7 +527,7 @@ python_api_name: qiskit.synthesis ### synth\_stabilizer\_layers - + Synthesis of a stabilizer state into layers. 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. @@ -574,7 +574,7 @@ python_api_name: qiskit.synthesis ### synth\_stabilizer\_depth\_lnn - + 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** @@ -597,7 +597,7 @@ python_api_name: qiskit.synthesis ### synth\_circuit\_from\_stabilizers - + 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** @@ -633,7 +633,7 @@ python_api_name: qiskit.synthesis ### generate\_basic\_approximations - + Generates a list of `GateSequence`s with the gates in `basis_gates`. **Parameters** @@ -659,7 +659,7 @@ python_api_name: qiskit.synthesis ### synth\_qft\_line - + Synthesis of a QFT circuit for a linear nearest neighbor connectivity. Based on Fig 2.b in Fowler et al. \[1]. Note that this method *reverts* the order of qubits in the circuit, compared to the original [`QFT`](qiskit.circuit.library.QFT "qiskit.circuit.library.QFT") code. Hence, the default value of the `do_swaps` parameter is `True` since it produces a circuit with fewer CX gates. @@ -689,7 +689,7 @@ Decomposition of general $2^n \times 2^n$ unitary matrices for any number of qub ### qs\_decomposition - + Decomposes a unitary matrix into one and two qubit gates using Quantum Shannon Decomposition, This decomposition is described in Shende et al. \[1]. @@ -755,11 +755,11 @@ The Approximate Quantum Compiler is available here: ## 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.mdx b/docs/api/qiskit/dev/transpiler.mdx index 8219a33893a..d3da0f0c720 100644 --- a/docs/api/qiskit/dev/transpiler.mdx +++ b/docs/api/qiskit/dev/transpiler.mdx @@ -242,7 +242,7 @@ Instructions: Error Rate: 0.2 ``` -This [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") represents a 3 qubit backend that supports [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate") between qubits 0 and 1, [`UGate`](qiskit.circuit.library.UGate "qiskit.circuit.library.UGate") on qubits 0 and 1, [`RZGate`](qiskit.circuit.library.RZGate "qiskit.circuit.library.RZGate"), [`RXGate`](qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate"), and [`RYGate`](qiskit.circuit.library.RYGate "qiskit.circuit.library.RYGate") on qubits 1 and 2, [`CZGate`](qiskit.circuit.library.CZGate "qiskit.circuit.library.CZGate") between qubits 1 and 2, and qubits 2 and 0, and [`Measure`](qiskit.circuit.library.Measure "qiskit.circuit.library.Measure") on all qubits. +This [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") represents a 3 qubit backend that supports [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate") between qubits 0 and 1, [`UGate`](qiskit.circuit.library.UGate "qiskit.circuit.library.UGate") on qubits 0 and 1, [`RZGate`](qiskit.circuit.library.RZGate "qiskit.circuit.library.RZGate"), [`RXGate`](qiskit.circuit.library.RXGate "qiskit.circuit.library.RXGate"), and [`RYGate`](qiskit.circuit.library.RYGate "qiskit.circuit.library.RYGate") on qubits 1 and 2, [`CZGate`](qiskit.circuit.library.CZGate "qiskit.circuit.library.CZGate") between qubits 1 and 2, and qubits 2 and 0, and [`Measure`](circuit#qiskit.circuit.Measure "qiskit.circuit.Measure") on all qubits. There are also specific data structures to represent a specific subset of information from the [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target"). For example, the [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") class is used to solely represent the connectivity constraints of a backend as a directed graph. A coupling map can be generated from a [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") using the [`Target.build_coupling_map()`](qiskit.transpiler.Target#build_coupling_map "qiskit.transpiler.Target.build_coupling_map") method. These data structures typically pre-date the [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") class but are still used by some transpiler passes that do not work natively with a [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") instance yet or when dealing with backends that aren’t using the latest [`BackendV2`](qiskit.providers.BackendV2 "qiskit.providers.BackendV2") interface. @@ -628,7 +628,7 @@ In order to implement a 2-qubit gate between qubits in a quantum circuit that ar However, as with many important things in life, finding the optimal swap mapping is hard. In fact it is in a class of problems called NP-hard, and is thus prohibitively expensive to compute for all but the smallest quantum devices and input circuits. To get around this, by default Qiskit uses a stochastic heuristic algorithm called [`SabreSwap`](qiskit.transpiler.passes.SabreSwap "qiskit.transpiler.passes.SabreSwap") to compute a good, but not necessarily optimal swap mapping. The use of a stochastic method means the circuits generated by [`transpile()`](compiler#qiskit.compiler.transpile "qiskit.compiler.transpile") are not guaranteed to be the same over repeated runs. Indeed, running the same circuit repeatedly will in general result in a distribution of circuit depths and gate counts at the output. -In order to highlight this, we run a GHZ circuit 100 times, using a “bad” (disconnected) initial\_layout: +In order to highlight this, we run a GHZ circuit 100 times, using a “bad” (disconnected) `initial_layout` in a heavy hex coupling map: ![../\_images/transpiler-11.png](/images/api/qiskit/dev/transpiler-11.png) @@ -636,18 +636,22 @@ In order to highlight this, we run a GHZ circuit 100 times, using a “bad” (d import matplotlib.pyplot as plt from qiskit import QuantumCircuit, transpile from qiskit.providers.fake_provider import GenericBackendV2 -backend = GenericBackendV2(16) +from qiskit.transpiler import CouplingMap + +coupling_map = CouplingMap.from_heavy_hex(3) +backend = GenericBackendV2(coupling_map.size(), coupling_map=coupling_map) ghz = QuantumCircuit(15) ghz.h(0) ghz.cx(0, range(1, 15)) depths = [] -for _ in range(100): +for i in range(100): depths.append( transpile( ghz, backend, + seed_transpiler=i, layout_method='trivial' # Fixed layout mapped in circuit order ).depth() ) @@ -738,7 +742,7 @@ circ.draw(output='mpl') ![../\_images/transpiler-16.png](/images/api/qiskit/dev/transpiler-16.png) -You can see here that the transpiler inserted [`Delay`](qiskit.circuit.Delay "qiskit.circuit.Delay") instructions to account for idle time on each qubit. To get a better idea of the timing of the circuit we can also look at it with the `timeline.draw()` function: +You can see here that the transpiler inserted [`Delay`](circuit#qiskit.circuit.Delay "qiskit.circuit.Delay") instructions to account for idle time on each qubit. To get a better idea of the timing of the circuit we can also look at it with the `timeline.draw()` function: ![../\_images/transpiler-17.png](/images/api/qiskit/dev/transpiler-17.png) @@ -785,7 +789,7 @@ D ░░░░░░░░░░▒▒▒▒▒▒░░░ C ░░░░░░░░░░░░░░░░▒▒░ ``` -However, the [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") representation is not accurate enough to represent this model. In the circuit representation, the corresponding [`circuit.Qubit`](qiskit.circuit.Qubit "qiskit.circuit.Qubit") is occupied by the stimulus microwave signal during the first half of the interval, and the [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") is only occupied at the very end of the interval. +However, the [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") representation is not accurate enough to represent this model. In the circuit representation, the corresponding [`circuit.Qubit`](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit") is occupied by the stimulus microwave signal during the first half of the interval, and the [`Clbit`](circuit#qiskit.circuit.Clbit "qiskit.circuit.Clbit") is only occupied at the very end of the interval. The lack of precision representing the physical model may induce edge cases in the scheduling: @@ -799,7 +803,7 @@ c: 1/╡ c_0=0x1 ╞═╩═ └─────────┘ 0 ``` -In this example, a user may intend to measure the state of `q_1` after the [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.library.XGate") is applied to `q_0`. This is the correct interpretation from the viewpoint of topological node ordering, i.e. The [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.library.XGate") node comes in front of the [`Measure`](qiskit.circuit.library.Measure "qiskit.circuit.library.Measure") node. However, according to the measurement model above, the data in the register is unchanged during the application of the stimulus, so two nodes are simultaneously operated. If one tries to alap-schedule this circuit, it may return following circuit: +In this example, a user may intend to measure the state of `q_1` after the [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.library.XGate") is applied to `q_0`. This is the correct interpretation from the viewpoint of topological node ordering, i.e. The [`XGate`](qiskit.circuit.library.XGate "qiskit.circuit.library.XGate") node comes in front of the [`Measure`](circuit#qiskit.circuit.Measure "qiskit.circuit.Measure") node. However, according to the measurement model above, the data in the register is unchanged during the application of the stimulus, so two nodes are simultaneously operated. If one tries to alap-schedule this circuit, it may return following circuit: ```python ┌────────────────┐ ┌───┐ @@ -910,11 +914,11 @@ See [https://arxiv.org/abs/2102.01682](https://arxiv.org/abs/2102.01682) for mor ### Layout and Topology -| | | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------ | -| [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout")(\[input\_dict]) | Two-ways dict to represent a Layout. | -| [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap")(\[couplinglist, description]) | Directed graph specifying fixed coupling. | -| [`TranspileLayout`](qiskit.transpiler.TranspileLayout "qiskit.transpiler.TranspileLayout")(initial\_layout, ...\[, ...]) | Layout attributes from output circuit from transpiler. | +| | | +| ------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------- | +| [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout")(\[input\_dict]) | Two-ways dict to represent a Layout. | +| [`CouplingMap`](qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap")(\[couplinglist, description]) | Directed graph specifying fixed coupling. | +| [`TranspileLayout`](qiskit.transpiler.TranspileLayout "qiskit.transpiler.TranspileLayout")(initial\_layout, ...\[, ...]) | Layout attributes for the output circuit from transpiler. | ### Scheduling @@ -933,7 +937,7 @@ See [https://arxiv.org/abs/2102.01682](https://arxiv.org/abs/2102.01682) for mor ### TranspilerError - + Exceptions raised during transpilation. Set the error message. @@ -941,7 +945,7 @@ See [https://arxiv.org/abs/2102.01682](https://arxiv.org/abs/2102.01682) for mor ### TranspilerAccessError - + DEPRECATED: Exception of access error in the transpiler passes. Set the error message. @@ -949,7 +953,7 @@ See [https://arxiv.org/abs/2102.01682](https://arxiv.org/abs/2102.01682) for mor ### CouplingError - + Base class for errors raised by the coupling graph object. Set the error message. @@ -957,7 +961,7 @@ See [https://arxiv.org/abs/2102.01682](https://arxiv.org/abs/2102.01682) for mor ### LayoutError - + Errors raised by the layout object. Set the error message. @@ -965,7 +969,7 @@ See [https://arxiv.org/abs/2102.01682](https://arxiv.org/abs/2102.01682) for mor ### CircuitTooWideForTarget - + Error raised if the circuit is too wide for the target. Set the error message. @@ -973,7 +977,7 @@ See [https://arxiv.org/abs/2102.01682](https://arxiv.org/abs/2102.01682) for mor ### InvalidLayoutError - + Error raised when a user provided layout is invalid. Set the error message. diff --git a/docs/api/qiskit/dev/transpiler_passes.mdx b/docs/api/qiskit/dev/transpiler_passes.mdx index a772afc30f3..7954af5e7c6 100644 --- a/docs/api/qiskit/dev/transpiler_passes.mdx +++ b/docs/api/qiskit/dev/transpiler_passes.mdx @@ -74,6 +74,7 @@ python_api_name: qiskit.transpiler.passes | [`Optimize1qGatesSimpleCommutation`](qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation "qiskit.transpiler.passes.Optimize1qGatesSimpleCommutation")(\*args, \*\*kwargs) | Optimizes 1Q gate strings interrupted by 2Q gates by commuting the components and resynthesizing the results. | | [`RemoveDiagonalGatesBeforeMeasure`](qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure "qiskit.transpiler.passes.RemoveDiagonalGatesBeforeMeasure")(\*args, \*\*kwargs) | Remove diagonal gates (including diagonal 2Q gates) before a measurement. | | [`RemoveResetInZeroState`](qiskit.transpiler.passes.RemoveResetInZeroState "qiskit.transpiler.passes.RemoveResetInZeroState")(\*args, \*\*kwargs) | Remove reset gate when the qubit is in zero state. | +| [`RemoveFinalReset`](qiskit.transpiler.passes.RemoveFinalReset "qiskit.transpiler.passes.RemoveFinalReset")(\*args, \*\*kwargs) | Remove reset when it is the final instruction on a qubit wire. | | [`HoareOptimizer`](qiskit.transpiler.passes.HoareOptimizer "qiskit.transpiler.passes.HoareOptimizer")(\*args, \*\*kwargs) | This is a transpiler pass using Hoare logic circuit optimization. | | [`TemplateOptimization`](qiskit.transpiler.passes.TemplateOptimization "qiskit.transpiler.passes.TemplateOptimization")(\*args, \*\*kwargs) | Class for the template optimization pass. | | [`EchoRZXWeylDecomposition`](qiskit.transpiler.passes.EchoRZXWeylDecomposition "qiskit.transpiler.passes.EchoRZXWeylDecomposition")(\*args, \*\*kwargs) | Rewrite two-qubit gates using the Weyl decomposition. | @@ -93,7 +94,7 @@ python_api_name: qiskit.transpiler.passes ### rzx\_templates - + Convenience function to get the cost\_dict and templates for template matching. **Parameters** diff --git a/docs/api/qiskit/dev/transpiler_plugins.mdx b/docs/api/qiskit/dev/transpiler_plugins.mdx index 88cac39288e..450cd288904 100644 --- a/docs/api/qiskit/dev/transpiler_plugins.mdx +++ b/docs/api/qiskit/dev/transpiler_plugins.mdx @@ -30,14 +30,14 @@ For details on how to instead write plugins for transpiler synthesis methods, se Currently, there are 6 stages in the preset pass managers, all of which actively load external plugins via corresponding entry points. -| Stage Name | Entry Point | Reserved Names | Description and expectations | -| -------------- | -------------------------------- | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `init` | `qiskit.transpiler.init` | `default` | This stage runs first and is typically used for any initial logical optimization. Because most layout and routing algorithms are only designed to work with 1 and 2 qubit gates, this stage is also used to translate any gates that operate on more than 2 qubits into gates that only operate on 1 or 2 qubits. | -| `layout` | `qiskit.transpiler.layout` | `trivial`, `dense`, `sabre`, `default` | The output from this stage is expected to have the `layout` property set field set with a [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout") object. Additionally, the circuit is typically expected to be embedded so that it is expanded to include all qubits and the [`ApplyLayout`](qiskit.transpiler.passes.ApplyLayout "qiskit.transpiler.passes.ApplyLayout") pass is expected to be run to apply the layout. The embedding of the [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout") can be generated with [`generate_embed_passmanager()`](transpiler_preset#qiskit.transpiler.preset_passmanagers.common.generate_embed_passmanager "qiskit.transpiler.preset_passmanagers.common.generate_embed_passmanager"). | -| `routing` | `qiskit.transpiler.routing` | `basic`, `stochastic`, `lookahead`, `sabre` | The output from this stage is expected to have the circuit match the connectivity constraints of the target backend. This does not necessarily need to match the directionality of the edges in the target as a later stage typically will adjust directional gates to match that constraint (but there is no penalty for doing that in the `routing` stage). | -| `translation` | `qiskit.transpiler.translation` | `translator`, `synthesis`, `unroller` | **The output of this stage is expected to have every operation be a native**instruction on the target backend. | -| `optimization` | `qiskit.transpiler.optimization` | `default` | This stage is expected to perform optimization and simplification. The constraints from earlier stages still apply to the output of this stage. After the `optimization` stage is run we expect the circuit to still be executable on the target. | -| `scheduling` | `qiskit.transpiler.scheduling` | `alap`, `asap`, `default` | This is the last stage run and it is expected to output a scheduled circuit such that all idle periods in the circuit are marked by explicit [`Delay`](qiskit.circuit.Delay "qiskit.circuit.Delay") instructions. | +| Stage Name | Entry Point | Reserved Names | Description and expectations | +| -------------- | -------------------------------- | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `init` | `qiskit.transpiler.init` | `default` | This stage runs first and is typically used for any initial logical optimization. Because most layout and routing algorithms are only designed to work with 1 and 2 qubit gates, this stage is also used to translate any gates that operate on more than 2 qubits into gates that only operate on 1 or 2 qubits. | +| `layout` | `qiskit.transpiler.layout` | `trivial`, `dense`, `sabre`, `default` | The output from this stage is expected to have the `layout` property set field set with a [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout") object. Additionally, the circuit is typically expected to be embedded so that it is expanded to include all qubits and the [`ApplyLayout`](qiskit.transpiler.passes.ApplyLayout "qiskit.transpiler.passes.ApplyLayout") pass is expected to be run to apply the layout. The embedding of the [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout") can be generated with [`generate_embed_passmanager()`](transpiler_preset#qiskit.transpiler.preset_passmanagers.common.generate_embed_passmanager "qiskit.transpiler.preset_passmanagers.common.generate_embed_passmanager"). | +| `routing` | `qiskit.transpiler.routing` | `basic`, `stochastic`, `lookahead`, `sabre` | The output from this stage is expected to have the circuit match the connectivity constraints of the target backend. This does not necessarily need to match the directionality of the edges in the target as a later stage typically will adjust directional gates to match that constraint (but there is no penalty for doing that in the `routing` stage). The output of this stage is also expected to have the `final_layout` property set field set with a [`Layout`](qiskit.transpiler.Layout "qiskit.transpiler.Layout") object that maps the [`Qubit`](circuit#qiskit.circuit.Qubit "qiskit.circuit.Qubit") to the output final position of that qubit in the circuit. If there is an existing `final_layout` entry in the property set (such as might be set by an optimization pass that introduces a permutation) it is expected that the final layout will be the composition of the two layouts (this can be computed using [`DAGCircuit.compose()`](qiskit.dagcircuit.DAGCircuit#compose "qiskit.dagcircuit.DAGCircuit.compose"), for example: `second_final_layout.compose(first_final_layout, dag.qubits)`). | +| `translation` | `qiskit.transpiler.translation` | `translator`, `synthesis`, `unroller` | **The output of this stage is expected to have every operation be a native**instruction on the target backend. | +| `optimization` | `qiskit.transpiler.optimization` | `default` | This stage is expected to perform optimization and simplification. The constraints from earlier stages still apply to the output of this stage. After the `optimization` stage is run we expect the circuit to still be executable on the target. | +| `scheduling` | `qiskit.transpiler.scheduling` | `alap`, `asap`, `default` | This is the last stage run and it is expected to output a scheduled circuit such that all idle periods in the circuit are marked by explicit [`Delay`](circuit#qiskit.circuit.Delay "qiskit.circuit.Delay") instructions. | ## Writing Plugins @@ -97,7 +97,7 @@ There isn’t a limit to the number of plugins a single package can include as l ### list\_stage\_plugins - + Get a list of installed plugins for a stage. **Parameters** @@ -119,7 +119,7 @@ There isn’t a limit to the number of plugins a single package can include as l ### passmanager\_stage\_plugins - + Return a dict with, for each stage name, the class type of the plugin. This function is useful for getting more information about a plugin: diff --git a/docs/api/qiskit/dev/transpiler_preset.mdx b/docs/api/qiskit/dev/transpiler_preset.mdx index 960d7c01a97..76c0e4dd927 100644 --- a/docs/api/qiskit/dev/transpiler_preset.mdx +++ b/docs/api/qiskit/dev/transpiler_preset.mdx @@ -26,7 +26,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_preset\_pass\_manager - + Generate a preset [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") This function is used to quickly generate a preset pass manager. A preset pass manager are the default pass managers used by the [`transpile()`](compiler#qiskit.compiler.transpile "qiskit.compiler.transpile") function. This function provides a convenient and simple method to construct a standalone [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") object that mirrors what the transpile @@ -42,7 +42,7 @@ This module contains functions for generating the preset pass managers for the t > * 2: heavy optimization > * 3: even heavier optimization - * **backend** ([*Backend*](qiskit.providers.Backend "qiskit.providers.Backend")) – An optional backend object which can be used as the source of the default values for the `basis_gates`, `inst_map`, `couplig_map`, `backend_properties`, `instruction_durations`, `timing_constraints`, and `target`. If any of those other arguments are specified in addition to `backend` they will take precedence over the value contained in the backend. + * **backend** ([*Backend*](qiskit.providers.Backend "qiskit.providers.Backend")) – An optional backend object which can be used as the source of the default values for the `basis_gates`, `inst_map`, `coupling_map`, `backend_properties`, `instruction_durations`, `timing_constraints`, and `target`. If any of those other arguments are specified in addition to `backend` they will take precedence over the value contained in the backend. * **target** ([*Target*](qiskit.transpiler.Target "qiskit.transpiler.Target")) – The [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") representing a backend compilation target. The following attributes will be inferred from this argument if they are not set: `coupling_map`, `basis_gates`, `instruction_durations`, `inst_map`, `timing_constraints` and `backend_properties`. @@ -58,7 +58,7 @@ This module contains functions for generating the preset pass managers for the t * **initial\_layout** ([*Layout*](qiskit.transpiler.Layout "qiskit.transpiler.Layout")) – Initial position of virtual qubits on physical qubits. - * **layout\_method** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – The `Pass` to use for choosing initial qubit placement. Valid choices are `'trivial'`, `'dense'`, and `'sabre'`, representing [`TrivialLayout`](qiskit.transpiler.passes.TrivialLayout "qiskit.transpiler.passes.TrivialLayout"), `DenseLayout` and [`SabreLayout`](qiskit.transpiler.passes.SabreLayout "qiskit.transpiler.passes.SabreLayout") respectively. This can also be the external plugin name to use for the `layout` stage of the output [`StagedPassManager`](qiskit.transpiler.StagedPassManager "qiskit.transpiler.StagedPassManager"). You can see a list of installed plugins by using [`list_stage_plugins()`](transpiler_plugins#qiskit.transpiler.preset_passmanagers.plugin.list_stage_plugins "qiskit.transpiler.preset_passmanagers.plugin.list_stage_plugins") with `"layout"` for the `stage_name` argument. + * **layout\_method** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – The `Pass` to use for choosing initial qubit placement. Valid choices are `'trivial'`, `'dense'`, and `'sabre'`, representing [`TrivialLayout`](qiskit.transpiler.passes.TrivialLayout "qiskit.transpiler.passes.TrivialLayout"), [`DenseLayout`](qiskit.transpiler.passes.DenseLayout "qiskit.transpiler.passes.DenseLayout") and [`SabreLayout`](qiskit.transpiler.passes.SabreLayout "qiskit.transpiler.passes.SabreLayout") respectively. This can also be the external plugin name to use for the `layout` stage of the output [`StagedPassManager`](qiskit.transpiler.StagedPassManager "qiskit.transpiler.StagedPassManager"). You can see a list of installed plugins by using [`list_stage_plugins()`](transpiler_plugins#qiskit.transpiler.preset_passmanagers.plugin.list_stage_plugins "qiskit.transpiler.preset_passmanagers.plugin.list_stage_plugins") with `"layout"` for the `stage_name` argument. * **routing\_method** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – The pass to use for routing qubits on the architecture. Valid choices are `'basic'`, `'lookahead'`, `'stochastic'`, `'sabre'`, and `'none'` representing [`BasicSwap`](qiskit.transpiler.passes.BasicSwap "qiskit.transpiler.passes.BasicSwap"), [`LookaheadSwap`](qiskit.transpiler.passes.LookaheadSwap "qiskit.transpiler.passes.LookaheadSwap"), [`StochasticSwap`](qiskit.transpiler.passes.StochasticSwap "qiskit.transpiler.passes.StochasticSwap"), [`SabreSwap`](qiskit.transpiler.passes.SabreSwap "qiskit.transpiler.passes.SabreSwap"), and erroring if routing is required respectively. This can also be the external plugin name to use for the `routing` stage of the output [`StagedPassManager`](qiskit.transpiler.StagedPassManager "qiskit.transpiler.StagedPassManager"). You can see a list of installed plugins by using [`list_stage_plugins()`](transpiler_plugins#qiskit.transpiler.preset_passmanagers.plugin.list_stage_plugins "qiskit.transpiler.preset_passmanagers.plugin.list_stage_plugins") with `"routing"` for the `stage_name` argument. @@ -97,7 +97,7 @@ This module contains functions for generating the preset pass managers for the t ### level\_0\_pass\_manager - + Level 0 pass manager: no explicit optimization other than mapping to backend. This pass manager applies the user-given initial layout. If none is given, a trivial layout consisting of mapping the i-th virtual qubit to the i-th physical qubit is used. Any unused physical qubit is allocated as ancilla space. @@ -123,7 +123,7 @@ This module contains functions for generating the preset pass managers for the t ### level\_1\_pass\_manager - + Level 1 pass manager: light optimization by simple adjacent gate collapsing. This pass manager applies the user-given initial layout. If none is given, and a trivial layout (i-th virtual -> i-th physical) makes the circuit fit the coupling map, that is used. Otherwise, the circuit is mapped to the most densely connected coupling subgraph, and swaps are inserted to map. Any unused physical qubit is allocated as ancilla space. The pass manager then unrolls the circuit to the desired basis, and transforms the circuit to match the coupling map. Finally, optimizations in the form of adjacent gate collapse and redundant reset removal are performed. @@ -147,7 +147,7 @@ This module contains functions for generating the preset pass managers for the t ### level\_2\_pass\_manager - + Level 2 pass manager: medium optimization by initial layout selection and gate cancellation using commutativity rules. This pass manager applies the user-given initial layout. If none is given, a search for a perfect layout (i.e. one that satisfies all 2-qubit interactions) is conducted. If no such layout is found, qubits are laid out on the most densely connected subset which also exhibits the best gate fidelities. @@ -173,7 +173,7 @@ This module contains functions for generating the preset pass managers for the t ### level\_3\_pass\_manager - + Level 3 pass manager: heavy optimization by noise adaptive qubit mapping and gate cancellation using commutativity rules and unitary synthesis. This pass manager applies the user-given initial layout. If none is given, a search for a perfect layout (i.e. one that satisfies all 2-qubit interactions) is conducted. If no such layout is found, and device calibration information is available, the circuit is mapped to the qubits with best readouts and to CX gates with highest fidelity. @@ -203,7 +203,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_control\_flow\_options\_check - + Generate a pass manager that, when run on a DAG that contains control flow, fails with an error message explaining the invalid options, and what could be used instead. **Returns** @@ -217,13 +217,13 @@ This module contains functions for generating the preset pass managers for the t ### generate\_error\_on\_control\_flow - + Get a pass manager that always raises an error if control flow is present in a given circuit. ### generate\_unroll\_3q - + Generate an unroll >3q [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") **Parameters** @@ -246,7 +246,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_embed\_passmanager - + Generate a layout embedding [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") This is used to generate a [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") object that can be used to expand and apply an initial layout to a circuit @@ -268,7 +268,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_routing\_passmanager - + Generate a routing [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") **Parameters** @@ -294,7 +294,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_pre\_op\_passmanager - + Generate a pre-optimization loop [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") This pass manager will check to ensure that directionality from the coupling map is respected @@ -316,7 +316,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_translation\_passmanager - + Generate a basis translation [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") **Parameters** @@ -346,7 +346,7 @@ This module contains functions for generating the preset pass managers for the t ### generate\_scheduling - + Generate a post optimization scheduling [`PassManager`](qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") **Parameters** diff --git a/docs/api/qiskit/dev/utils.mdx b/docs/api/qiskit/dev/utils.mdx index fe377c74859..0c0675ea377 100644 --- a/docs/api/qiskit/dev/utils.mdx +++ b/docs/api/qiskit/dev/utils.mdx @@ -22,7 +22,7 @@ python_api_name: qiskit.utils ### add\_deprecation\_to\_docstring - + Dynamically insert the deprecation message into `func`’s docstring. **Parameters** @@ -35,7 +35,7 @@ python_api_name: qiskit.utils ### deprecate\_arg - + Decorator to indicate an argument has been deprecated in some way. This decorator may be used multiple times on the same function, once per deprecated argument. It should be placed beneath other decorators like `@staticmethod` and property decorators. @@ -63,7 +63,7 @@ python_api_name: qiskit.utils ### deprecate\_arguments - + Deprecated. Instead, use @deprecate\_arg. **Parameters** @@ -83,7 +83,7 @@ python_api_name: qiskit.utils ### deprecate\_func - + Decorator to indicate a function has been deprecated. It should be placed beneath other decorators like @staticmethod and property decorators. @@ -110,7 +110,7 @@ python_api_name: qiskit.utils ### deprecate\_function - + Deprecated. Instead, use @deprecate\_func. **Parameters** @@ -133,7 +133,7 @@ python_api_name: qiskit.utils ### apply\_prefix - + Given a SI unit prefix and value, apply the prefix to convert to standard SI unit. **Parameters** @@ -164,7 +164,7 @@ python_api_name: qiskit.utils ### detach\_prefix - + Given a SI unit value, find the most suitable prefix to scale the value. For example, the `value = 1.3e8` will be converted into a tuple of `(130.0, "M")`, which represents a scaled value and auxiliary unit that may be used to display the value. In above example, that value might be displayed as `130 MHz` (unit is arbitrary here). @@ -208,7 +208,7 @@ python_api_name: qiskit.utils ### wrap\_method - + Wrap the functionality the instance- or class method `cls.name` with additional behaviour `before` and `after`. This mutates `cls`, replacing the attribute `name` with the new functionality. This is useful when creating class decorators. The method is allowed to be defined on any parent class instead. @@ -231,7 +231,7 @@ python_api_name: qiskit.utils ### local\_hardware\_info - + 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. @@ -247,7 +247,7 @@ python_api_name: qiskit.utils ### is\_main\_process - + Checks whether the current process is the main one @@ -255,7 +255,7 @@ A helper function for calling a custom function with python [`ProcessPoolExecuto ### parallel\_map - + Parallel execution of a mapping of values to the function task. This is functionally equivalent to: ```python @@ -363,7 +363,7 @@ Each of the lazy checkers is an instance of [`LazyDependencyManager`](#qiskit.ut from qiskit.utils import LazyImportTester ``` - + A mananger for some optional features that are expensive to import, or to verify the existence of. These objects can be used as Booleans, such as `if x`, and will evaluate `True` if the dependency they test for is available, and `False` if not. The presence of the dependency will only be tested when the Boolean is evaluated, so it can be used as a runtime test in functions and methods without requiring an import-time test. @@ -403,7 +403,7 @@ from qiskit.utils import LazyImportTester ### \_is\_available - + Subclasses of [`LazyDependencyManager`](#qiskit.utils.LazyDependencyManager "qiskit.utils.LazyDependencyManager") should override this method to implement the actual test of availability. This method should return a Boolean, where `True` indicates that the dependency was available. This method will only ever be called once. **Return type** @@ -419,7 +419,7 @@ from qiskit.utils import LazyImportTester ### require\_in\_call - + Create a decorator for callables that requires that the dependency is available when the decorated function or method is called. **Parameters** @@ -437,7 +437,7 @@ from qiskit.utils import LazyImportTester ### require\_in\_instance - + A class decorator that requires the dependency is available when the class is initialised. This decorator can be used even if the class does not define an `__init__` method. **Parameters** @@ -455,7 +455,7 @@ from qiskit.utils import LazyImportTester ### require\_now - + Eagerly attempt to import the dependencies in this object, and raise an exception if they cannot be imported. **Parameters** @@ -468,7 +468,7 @@ from qiskit.utils import LazyImportTester - + A lazy dependency tester for importable Python modules. Any required objects will only be imported at the point that this object is tested for its Boolean value. **Parameters** @@ -480,7 +480,7 @@ from qiskit.utils import LazyImportTester [**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError "(in Python v3.12)") – if no modules are given. - + A lazy checker that a command-line tool is available. The command will only be run once, at the point that this object is checked for its Boolean value. **Parameters** diff --git a/docs/api/qiskit/dev/visualization.mdx b/docs/api/qiskit/dev/visualization.mdx index ec80c5ba0ea..de57ac4d8ee 100644 --- a/docs/api/qiskit/dev/visualization.mdx +++ b/docs/api/qiskit/dev/visualization.mdx @@ -225,7 +225,7 @@ You can find code examples for each visualization functions on the individual fu ### VisualizationError - + For visualization specific errors. Set the error message. diff --git a/public/api/qiskit-ibm-runtime/dev/objects.inv b/public/api/qiskit-ibm-runtime/dev/objects.inv index b8adde286ab..a0a77487cf0 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 0857046abf0..d0e37b9708a 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_00.png b/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_00.png index 69d83403d08..119c30485d0 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_00.png and b/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_00.png differ diff --git a/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_01.png b/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_01.png index ac2dad8b727..d46e09211bb 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_01.png and b/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_01.png 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 e10229d6b7e..536a2eb84b4 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-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_0_0.png b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_0_0.png index a26eed7507a..83f34aeac4f 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_0_0.png and b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_0_0.png differ diff --git a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_10_0.png b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_10_0.png index 0db7b6b93f0..7116587fde9 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_10_0.png and b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_10_0.png differ diff --git a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_11_0.png b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_11_0.png index 47ff556d048..b7c34798baf 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_11_0.png and b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_11_0.png differ diff --git a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_12_0.png b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_12_0.png index 5fbd33ac650..e817838751d 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_12_0.png and b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_12_0.png differ diff --git a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_13_0.png b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_13_0.png index 118ec8d280d..ea70adfae4e 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_13_0.png and b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_13_0.png differ diff --git a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_14_0.png b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_14_0.png index 677d65078bf..85294414e7e 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_14_0.png and b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_14_0.png differ diff --git a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_15_0.png b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_15_0.png index 5968bd240a1..da95e66a18f 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_15_0.png and b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_15_0.png differ diff --git a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_1_0.png b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_1_0.png index d044d67d611..97d36a6afda 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_1_0.png and b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_1_0.png differ diff --git a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_2_0.png b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_2_0.png index 6669b990a37..d2793280fa4 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_2_0.png and b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_2_0.png differ diff --git a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_3_0.png b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_3_0.png index 0b66792a672..9ecb9b01f0a 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_3_0.png and b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_3_0.png differ diff --git a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_4_0.png b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_4_0.png index 0b66792a672..9ecb9b01f0a 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_4_0.png and b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_4_0.png differ diff --git a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_5_0.png b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_5_0.png index 4b07ea377c8..82fbabcaaf1 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_5_0.png and b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_5_0.png differ diff --git a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_6_0.png b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_6_0.png index bc63d5d05e5..51d82866fef 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_6_0.png and b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_6_0.png differ diff --git a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_7_0.png b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_7_0.png index 38e621e254a..02f9be73643 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_7_0.png and b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_7_0.png differ diff --git a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_8_0.png b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_8_0.png index b015c553886..1aacb47a844 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_8_0.png and b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_8_0.png differ diff --git a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_9_0.png b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_9_0.png index 5c8b49fcadc..4b43228aee3 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_9_0.png and b/public/images/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling_9_0.png differ diff --git a/public/images/api/qiskit/dev/circuit-1.png b/public/images/api/qiskit/dev/circuit-1.png index a39174d80db..068280ce042 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 d579a7b5081..ac283c80de2 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 04e076e0c07..82cdf8b2896 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 deleted file mode 100644 index 40057e4762a..00000000000 Binary files a/public/images/api/qiskit/dev/circuit-4.png and /dev/null differ diff --git a/public/images/api/qiskit/dev/circuit-5.png b/public/images/api/qiskit/dev/circuit-5.png index 558583ca11a..bc13896f0b3 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 8c06ea7a57c..0bac395ed94 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 6c013dffb90..a791a9bb8fa 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 69d83403d08..119c30485d0 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 c90ab5576c1..d4cd387a6eb 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 85e6ddb575f..f674e1c9341 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 826ec56cf69..a60ba9b8496 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 3c19c58ad09..9b0675ba5a5 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 34b22ef95ab..cbb666b690f 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 c0c11f36af5..277e557c245 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 11f2184eb58..141f61a1aa6 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 fb39a58fa8d..099fc169559 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 b0b8edfbfb3..97aa7ad75c6 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 cfd725bed9b..3cd3c36847d 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 fc6eb695ba3..a9e8e25fe53 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 a531e84b810..61bbccd0c06 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 deleted file mode 100644 index 05a9da72ab1..00000000000 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-InstructionSet-1.png and /dev/null 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 1b15fad7de5..ebc544440da 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 0a0c10376ae..feed10a1f8f 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 7e52b6b0b6a..310467d8c73 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 04f28dcf587..8d30ef8c737 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 7e15aedacae..a96b151a2d3 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 2f4226fcbf4..44c399acb2c 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 402e8d5424e..8900cb9a328 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 d91c9542336..5b2a4cace60 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 d8cdf618aa1..24ac764143f 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 23e02423899..980a76485e0 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 952145ccc45..6dc0f458e3f 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 3765c59d712..b88d48db18a 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 34dc13a9d5d..11e23da0ee3 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 281ae00895b..880f4138db4 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 e511b836f03..d0c3c7dee05 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 a66646b2bbb..c46d64e2744 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 68f1c9ece66..e079b297ab8 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 a66646b2bbb..c46d64e2744 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 89b1838c8dc..09bf01a8b1c 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 113e473400b..a670d12b203 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 4a0c48c9004..b9ab8640d3d 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 98a957ea72f..df9b31b9bbf 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 d39fa1267ef..c47b161c412 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 ada2e966ddf..ed06485760d 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 424e79afa9e..959beaa3694 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 da6c20bdb39..8fa60729e71 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 0dd49d07acc..8e4cc31c2ef 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 5eee719cdff..1959dc1561e 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 20e1ce83d13..8d919899daf 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 05032eaf687..1793ba66673 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 d45b8a50d2d..6a96195f95c 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 aa5f8acfd7e..85e09b26584 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 c5289057f40..cef1dcc8f45 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 c841bbdb130..3873e237d0f 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 ae29298d4f1..050a27d162c 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 e767a72c734..397c4f63faa 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 167e1ce7303..abfb0096369 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 604f6320c96..d7113cf41a7 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 f40d8329386..ae63ebc1671 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 e190744dbbd..cda3332d6dd 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 index 7455151eefd..bfb25382789 100644 Binary files a/public/images/api/qiskit/dev/qiskit-primitives-StatevectorEstimator-1.png 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 9adc2456cbb..b1d0725f8aa 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 b479a528f4c..11c02a2f498 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 ebd67d791f9..712692edad4 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 d157ddf998b..fc0b9bbefea 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 647001be489..fe7adbf1c23 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 ebd67d791f9..712692edad4 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 d157ddf998b..fc0b9bbefea 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 8b71e9bb02d..7eeb5f03367 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 23e02423899..980a76485e0 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 ff2783365c9..2fc807af53f 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 40310e3ce1d..67e0f13443b 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 52f176633f8..398d11f43e6 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 d7293d2a224..867931776e2 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 03bd56e5a48..a325f67735b 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 fde22abbadb..53b02c61076 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 48051dad53c..767d2b6f879 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 928a409cd77..a347b7087db 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 227e4411398..9a4633aa2a7 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 e68b33536d1..c09c8b7cfd8 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 2bd41f9c946..60f4679ed30 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 d52842397d6..8b835880ee4 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 68d66696d2e..95f9cd82000 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 cf5addcc342..fed5fcd214f 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 67f4e14c5fc..da7b4d1f340 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 02edff2c679..44dee974430 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 a6472b59657..4f9ab2ea07a 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 289a8195e6d..aaf83e40d95 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 2fa61470464..39ea4288bfc 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 b46214f03ba..a43e19d8c18 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 ec30c3df571..7e634f01017 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 0b22a51d35f..081394cf382 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 a15c4687ada..a2c04afa36a 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 db0d325c571..7985acceb0c 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 index f7e742b6f2c..0e1fe4cafc2 100644 Binary files a/public/images/api/qiskit/dev/release_notes-1.png 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 index 47a562c805e..4f273eeed4a 100644 Binary files a/public/images/api/qiskit/dev/release_notes-2.png and b/public/images/api/qiskit/dev/release_notes-2.png differ diff --git a/public/images/api/qiskit/dev/release_notes-3.png b/public/images/api/qiskit/dev/release_notes-3.png new file mode 100644 index 00000000000..67243561a6c Binary files /dev/null and b/public/images/api/qiskit/dev/release_notes-3.png differ diff --git a/public/images/api/qiskit/dev/transpiler-10.png b/public/images/api/qiskit/dev/transpiler-10.png index fd127e4324b..6ca7419a60f 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 f9a5e874408..3107c25ea81 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 9e5a002881e..2d80ab28ad4 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 f9a5e874408..3107c25ea81 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 439b5033095..5d0a60038f7 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 5c65515ce89..309b84dda45 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 538899a4183..f456e76897a 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 80f06b241a1..ca96b6a8074 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 fd2148a3bca..63022a7d06b 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 6ddf41c71a5..fc887d9899c 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 7b5d2343788..b5ef1043e7e 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 a23a55d8c90..8b4a3165e01 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 14e6b007d09..df01cace192 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 da85495e467..7aa2a841a5c 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 03ed0f43616..183477077c4 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 617c4034c1b..793c8cdcb4b 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 9e9259f90a4..865bf2ffca8 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 1cad6080d6f..7a5e24c28bb 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 151b51c87c6..2ee0bbcab20 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 151b51c87c6..2ee0bbcab20 100644 Binary files a/public/images/api/qiskit/dev/visualization-6.png and b/public/images/api/qiskit/dev/visualization-6.png differ diff --git a/scripts/lib/links/ignores.ts b/scripts/lib/links/ignores.ts index a30d4c01aa1..1d39700c851 100644 --- a/scripts/lib/links/ignores.ts +++ b/scripts/lib/links/ignores.ts @@ -85,6 +85,10 @@ const FILES_TO_IGNORES__SHOULD_FIX: FilesToIgnores = { ], "docs/api/qiskit/qpy.mdx": _QPY_IGNORES, "docs/api/qiskit/dev/qpy.mdx": _QPY_IGNORES, + "docs/api/qiskit/dev/circuit.mdx": [ + "#qiskit.circuit.SessionEquivalenceLibrary", + "#qiskit.circuit.StandardEquivalenceLibrary", + ], // Runtime "docs/api/qiskit-ibm-runtime/release-notes.mdx": [ "/api/qiskit-ibm-runtime/qiskit_ibm_runtime.QiskitRuntimeService#runtime", @@ -187,6 +191,8 @@ const FILES_TO_IGNORES__SHOULD_FIX: FilesToIgnores = { "/api/qiskit/dev/qiskit.pulse.library.SymbolicPulse#symbolic-pulse-eval-condition", "/api/qiskit/dev/qiskit.pulse.library.SymbolicPulse#symbolic-pulse-serialize", "/api/qiskit/dev/qiskit.pulse.library.SymbolicPulse#symbolic-pulse-validation", + "/api/qiskit/dev/circuit#qiskit.circuit.SessionEquivalenceLibrary", + "/api/qiskit/dev/circuit#qiskit.circuit.StandardEquivalenceLibrary", ], };