FakePeekskill - Backend Quantique Simulé

VérifiéSûr

Classe API pour un backend quantique simulé de 27 qubits dans qiskit-ibm-runtime. Fournit une implémentation FakeBackendV2 pour tester et développer des applications quantiques.

Spar Skills Guide Bot
TestingIntermédiaire
2002/06/2026
Claude CodeCopilotCodex
#quantum#fake-backend#qiskit#testing#simulation

Recommandé pour

Notre avis

FakePeekskill est un backend simulé de 27 qubits fourni par qiskit-ibm-runtime pour tester des circuits quantiques en local.

Points forts

  • Simule un backend IBM réaliste
  • Facile à instancier et utiliser
  • Comprend les durées d'instruction et les cartes de couplage
  • Permet de tester du code quantique sans accès à du matériel réel

Limites

  • Limité à 27 qubits
  • Ne reproduit pas parfaitement le comportement d'un vrai backend
  • Dépend de la version de Qiskit et des données de calibration
Quand l'utiliser

Utilisez FakePeekskill pour développer et tester des circuits quantiques localement avant de les soumettre à du matériel réel.

Quand l'éviter

Évitez FakePeekskill pour des expériences nécessitant une haute fidélité ou un nombre de qubits supérieur à 27.

Analyse de sécurité

Sûr
Score qualité75/100

The file is purely documentation of a fake quantum backend class. It contains no executable code, no instructions for network access, file deletion, or any risky operations.

Aucun point d'attention détecté

Exemples

Run a Bell state circuit
Create a FakePeekskill backend and run a simple Bell state circuit (H on qubit 0 then CX on qubits 0-1). Measure both qubits and print the counts.
Get backend properties
Instantiate FakePeekskill and print its coupling map, number of qubits, and supported gates.
Transpile a circuit
Use FakePeekskill as target backend to transpile a 5-qubit Grover's search circuit and then simulate it with the fake backend.

title: FakePeekskill (latest version) description: API reference for qiskit_ibm_runtime.fake_provider.FakePeekskill in the latest version of qiskit-ibm-runtime in_page_toc_min_heading_level: 1 python_api_type: class python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill

FakePeekskill

<Class id="qiskit_ibm_runtime.fake_provider.FakePeekskill" isDedicatedPage={true} github="https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.45/qiskit_ibm_runtime/fake_provider/backends/peekskill/fake_peekskill.py#L21-L27" signature="FakePeekskill" modifiers="class"> Bases: `FakeBackendV2`

A fake 27 qubit backend.

FakeBackendV2 initializer.

Attributes

backend_name

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.backend_name" attributeValue="'fake_peekskill'" />

conf_filename

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.conf_filename" attributeValue="'conf_peekskill.json'" />

coupling_map

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.coupling_map"> Return the [`CouplingMap`](/docs/api/qiskit/qiskit.transpiler.CouplingMap) object </Attribute>

dirname

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.dirname" attributeValue="'/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/peekskill'" />

dt

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.dt"> Return the system time resolution of input signals
This is required to be implemented if the backend supports Pulse scheduling.

**Returns**

The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned.
</Attribute>

dtm

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.dtm"> Return the system time resolution of output signals
**Returns**

The output signal timestep in seconds.
</Attribute>

instruction_durations

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.instruction_durations"> Return the [`InstructionDurations`](/docs/api/qiskit/qiskit.transpiler.InstructionDurations) object. </Attribute>

instructions

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.instructions"> A list of Instruction tuples on the backend of the form `(instruction, (qubits)` </Attribute>

max_circuits

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.max_circuits"> This property used to return the max\_experiments value from the backend configuration but this value is no longer an accurate representation of backend circuit limits. New fields will be added to indicate new limits. </Attribute>

meas_map

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.meas_map"> Return the grouping of measurements which are multiplexed
This is required to be implemented if the backend supports Pulse scheduling.

**Returns**

The grouping of measurements which are multiplexed

**Raises**

**NotImplementedError** – if the backend doesn’t support querying the measurement mapping
</Attribute>

num_qubits

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.num_qubits"> Return the number of qubits the backend has. </Attribute>

operation_names

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.operation_names"> A list of instruction names that the backend supports. </Attribute>

operations

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.operations"> A list of [`Instruction`](/docs/api/qiskit/qiskit.circuit.Instruction) instances that the backend supports. </Attribute>

options

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.options"> Return the options for the backend
The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakePeekskill.run "qiskit_ibm_runtime.fake_provider.FakePeekskill.run") method.
</Attribute>

props_filename

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.props_filename" attributeValue="'props_peekskill.json'" />

provider

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.provider"> Return the backend provider.
**Returns**

the provider responsible for the backend.

**Return type**

provider
</Attribute>

target

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.target"> A [`qiskit.transpiler.Target`](/docs/api/qiskit/qiskit.transpiler.Target) object for the backend.
**Return type**

Target
</Attribute>

version

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.version" attributeValue="2" />

name

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.name"> Name of the backend. </Attribute>

description

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.description"> Optional human-readable description. </Attribute>

online_date

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.online_date"> Date that the backend came online. </Attribute>

backend_version

<Attribute id="qiskit_ibm_runtime.fake_provider.FakePeekskill.backend_version"> Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. </Attribute>

Methods

check_faulty

<Function id="qiskit_ibm_runtime.fake_provider.FakePeekskill.check_faulty" github="https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.45/qiskit_ibm_runtime/fake_provider/fake_backend.py#L175-L207" signature="check_faulty(circuit)"> Check if the input circuit uses faulty qubits or edges.
**Parameters**

**circuit** ([*QuantumCircuit*](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)) – Circuit to check.

**Raises**

**ValueError** – If an instruction operating on a faulty qubit or edge is found.

**Return type**

None
</Function>

configuration

<Function id="qiskit_ibm_runtime.fake_provider.FakePeekskill.configuration" github="https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.45/qiskit_ibm_runtime/fake_provider/fake_backend.py#L171-L173" signature="configuration()"> Return the backend configuration.
**Return type**

[*QasmBackendConfiguration*](models-qasm-backend-configuration "qiskit_ibm_runtime.models.backend_configuration.QasmBackendConfiguration")
</Function>

properties

<Function id="qiskit_ibm_runtime.fake_provider.FakePeekskill.properties" github="https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.45/qiskit_ibm_runtime/fake_provider/fake_backend.py#L158-L169" signature="properties(refresh=False)"> Return the backend properties
**Parameters**

**refresh** (*bool*) – If `True`, re-retrieve the backend properties from the local file.

**Returns**

The backend properties.

**Return type**

[*BackendProperties*](models-backend-properties "qiskit_ibm_runtime.models.backend_properties.BackendProperties")
</Function>

qubit_properties

<Function id="qiskit_ibm_runtime.fake_provider.FakePeekskill.qubit_properties" signature="qubit_properties(qubit)"> Return QubitProperties for a given qubit.
If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented.

**Parameters**

**qubit** (*int | List\[int]*) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order

**Returns**

The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`.

**Raises**

**NotImplementedError** – if the backend doesn’t support querying the qubit properties

**Return type**

[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties) | *List*\[[*QubitProperties*](/docs/api/qiskit/qiskit.providers.QubitProperties)]
</Function>

refresh

<Function id="qiskit_ibm_runtime.fake_provider.FakePeekskill.refresh" github="https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.45/qiskit_ibm_runtime/fake_provider/fake_backend.py#L394-L465" signature="refresh(service, use_fractional_gates=False)"> Update the data files from its real counterpart
This method pulls the latest backend data files from their real counterpart and overwrites the corresponding files in the local installation:

*   `../fake_provider/backends/{backend_name}/conf_{backend_name}.json`
*   `../fake_provider/backends/{backend_name}/defs_{backend_name}.json`
*   `../fake_provider/backends/{backend_name}/props_{backend_name}.json`

The new data files will persist through sessions so the files will stay updated unless they are manually reverted locally or when `qiskit-ibm-runtime` is upgraded or reinstalled.

**Parameters**

*   **service** ([*QiskitRuntimeService*](qiskit-runtime-service "qiskit_ibm_runtime.qiskit_runtime_service.QiskitRuntimeService")) – A `QiskitRuntimeService` instance
*   **use\_fractional\_gates** (*bool*) – Set True to allow for the backends to include fractional gates.

**Raises**

*   **ValueError** – if the provided service is a non-QiskitRuntimeService instance.
*   **Exception** – If the real target doesn’t exist or can’t be accessed

**Return type**

None
</Function>

run

<Function id="qiskit_ibm_runtime.fake_provider.FakePeekskill.run" github="https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.45/qiskit_ibm_runtime/fake_provider/fake_backend.py#L278-L309" signature="run(run_input, **options)"> Run on the fake backend using a simulator.
This method runs circuit jobs (an individual or a list of QuantumCircuit) using BasicSimulator or Aer simulator and returns a [`Job`](/docs/api/qiskit/qiskit.providers.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 BasicSimulator without noise.

Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2.

**Parameters**

*   **run\_input** (*QuantumCircuit or list*) – An individual or a list of [`QuantumCircuit`](/docs/api/qiskit/qiskit.circuit.QuantumCircuit)
*   **options** – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object.

**Returns**

The job object for the run

**Return type**

Job
</Function>

set_options

<Function id="qiskit_ibm_runtime.fake_provider.FakePeekskill.set_options" signature="set_options(**fields)"> Set the options fields for the backend
This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options.

**Parameters**

**fields** – The fields to update the options

**Raises**

**AttributeError** – If the field passed in is not part of the options
</Function>

status

<Function id="qiskit_ibm_runtime.fake_provider.FakePeekskill.status" github="https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.45/qiskit_ibm_runtime/fake_provider/fake_backend.py#L140-L156" signature="status()"> Return the backend status.
**Returns**

The status of the backend.

**Return type**

[*BackendStatus*](models-backend-status "qiskit_ibm_runtime.models.backend_status.BackendStatus")
</Function> </Class>
Skills similaires