GenericBackendV2
class qiskit.providers.fake_provider.GenericBackendV2(num_qubits, basis_gates=None, *, coupling_map=None, control_flow=False, dtm=None, dt=None, seed=None, noise_info=True)
베이스: BackendV2
Generic BackendV2 구현을 구성 가능한 생성자로 구현합니다. 이 클래스는 로컬 시뮬레이터에서 실행되는 BackendV2 인스턴스를 반환하며, 로컬 시뮬레이터에서 실행되고(가짜 백엔드 정신으로) 트랜스파일러와 같은 백엔드 인터페이스 컴포넌트를 테스트하는 데 필요한 모든 정보를 포함합니다. A GenericBackendV2 인스턴스는 지정된 최소한의 num_qubits 로 구성할 수 있지만, 사용자는 기본 게이트, 커플링 맵, 동적 회로 실행 기능(제어 흐름 명령어) 및 dtm을 추가로 구성할 수 있습니다. 나머지 백엔드 속성은 과거 IBM 백엔드 데이터에서 추출한 기본 범위에서 무작위로 샘플링하여 생성됩니다. 이 무작위 생성을 위한 시드는 백엔드 출력의 재현성을 보장하기 위해 고정할 수 있습니다. 이 백엔드는 표준 라이브러리의 게이트만 지원하며, 보다 유연한 백엔드가 필요한 경우 항상 직접 인스턴스화할 수 있는 옵션이 있습니다 Target 객체를 직접 인스턴스화할 수 있습니다.
매개변수
-
num_qubits (int) – 백엔드의 타겟을 구성하는 데 사용되는 큐비트 수입니다. 구성할 수 있는 타겟의 크기에는 제한이 없지만, 이 백엔드는 로컬 노이즈 시뮬레이터에서 실행되므로 시뮬레이션할 수 있는 큐비트 수에 제한이 있을 수 있다는 점에 유의하세요.
-
basis_gates (list[str] | None) – 대상에서 지원할 기준 게이트 이름 목록입니다. 이들은 표준 키스킷 회로 라이브러리의 일부여야 합니다. 기본 기본 게이트 세트는
["id", "rz", "sx", "x", "cx"]"reset","delay","measure"지침은basis_gates을 통해 지정하지 않더라도 항상 기본적으로 지원됩니다. -
coupling_map (list[list[int]] | CouplingMap | None) –
백엔드용 커플링 맵(선택 사항). 여러 형식이 지원됩니다:
CouplingMap인스턴스- 목록은 예를 들어 백엔드에서 지원하는 두 개의 큐비트 상호작용을 나타내는 에지 목록으로 제공되어야 합니다:
[[0, 1], [0, 3], [1, 2], [1, 5], [2, 5], [4, 1], [5, 3]]
coupling_map을 지정한 경우num_qubits에 지정된 큐비트 수와 일치해야 합니다.coupling_map을 지정하지 않으면num_qubits큐비트를 사용하여 완전히 연결된 커플링 맵이 생성됩니다. -
control_flow (bool) – 대상에서 제어 흐름 지시문을 활성화하는 플래그입니다(기본값은 False).
-
dtm (float | None) – 출력 신호의 시스템 시간 분해능(나노초 단위)입니다. 기본적으로 없음입니다.
-
dt (float | None) – 입력 신호의 시스템 시간 분해능(나노초 단위)입니다. 기본적으로 없음입니다.
-
seed (int | None) – 기본값 생성을 위한 선택적 시드입니다.
-
noise_info (bool) – True이면 게이트와 큐비트를 기본 노이즈 정보에 연결합니다.
속성
coupling_map
반환하는 CouplingMap 객체
dt
입력 신호의 시스템 시간 분해능 반환
백엔드에서 펄스 스케줄링을 지원하는 경우 이 기능을 구현해야 합니다.
리턴
입력 신호 시간 간격(초)입니다. 백엔드에서 dt 을 정의하지 않으면 None 이 반환됩니다.
dtm
출력 신호의 시스템 시간 분해능 반환
instruction_durations
반환하는 InstructionDurations 객체를 반환합니다.
instructions
양식 백엔드의 명령 튜플 목록 (instruction, (qubits))
max_circuits
meas_map
num_qubits
백엔드에 있는 큐비트 수를 반환합니다.
operation_names
백엔드에서 지원하는 명령어 이름 목록입니다.
operations
백엔드에서 지원하는 Instruction 인스턴스 목록입니다.
options
백엔드에 대한 옵션을 반환합니다
백엔드의 옵션은 백엔드 사용 방식을 정의하는 동적 매개변수입니다. 메서드를 제어하는 데 사용됩니다 run() 메서드를 제어하는 데 사용됩니다.
provider
target
version
기본값: 2
name
백엔드 이름입니다.
description
사람이 읽을 수 있는 설명(선택 사항).
online_date
백엔드가 온라인 상태가 된 날짜입니다.
backend_version
제공 중인 백엔드 버전입니다. 이것은 버전인 BackendV2.version의 버전인 Backend 와는 다릅니다.
메소드
qubit_properties
qubit_properties(qubit)
주어진 큐비트에 대해 QubitProperties 를 반환합니다.
정의되어 있지 않거나 백엔드에서 이러한 세부 정보 쿼리를 지원하지 않는 경우 이 메서드를 구현할 필요가 없습니다.
매개변수
qubit (int |list[int]) – 해당 QubitProperties 객체를 가져올 큐비트. 이는 1개의 큐비트를 나타내는 단일 정수일 수도 있고, 큐비트 목록일 수도 있으며, 객체 QubitProperties 목록이 동일한 순서대로 반환됩니다
리턴
지정된 큐비트에 대한 QubitProperties 객체를 반환합니다. 큐비트 목록이 제공되면 목록이 반환됩니다. 큐비트에 대한 프로퍼티가 누락된 경우 None.
레이즈
NotImplementedError - 백엔드에서 큐비트 속성 쿼리를 지원하지 않는 경우
리턴 유형
run
run(run_input, **options)
시뮬레이터를 사용하여 백엔드에서 실행합니다.
이 메서드는 또는 Aer 시뮬레이터를 사용하여 BasicSimulator 회로 작업(단일 작업 또는 작업 QuantumCircuit 목록)을 실행하고 객체를 Job 반환합니다.
Qiskit-aer가 설치되면 백엔드의 노이즈 모델( AerSimulator )을 사용하여 작업이 실행됩니다. 그렇지 않으면 노이즈 없이 BasicSimulator 시뮬레이터를 사용하여 작업이 실행됩니다.
매개변수
- run_input (QuantumCircuit orlist) – 백엔드에서 실행할 개별 객체 또는 객체
QuantumCircuit목록. - 옵션 - 구성 실행을 위해 백엔드에 전달할 모든 kwarg 옵션입니다. 키가 옵션 속성/객체에도 있는 경우 옵션 객체에 설정된 값 대신 지정된 값이 사용될 것으로 예상됩니다.
리턴
실행할 작업 개체
리턴 유형
레이즈
- QiskitError – 입력이 이거나 다음의 목록이 아닌
QuantumCircuit경우 - QuantumCircuit –
set_options
set_options(**fields)
백엔드에 대한 옵션 필드 설정
이 방법은 백엔드의 옵션을 업데이트하는 데 사용됩니다. 실행하기 전에 옵션을 변경해야 하는 경우 옵션에 대한 새 값과 함께 kwarg를 전달하면 됩니다.
매개변수
필드 - 옵션을 업데이트할 필드
레이즈
AttributeError - 전달된 필드가 옵션의 일부가 아닌 경우