Skip to main content
IBM Quantum Platform

BasicSimulator

class qiskit.providers.basic_provider.BasicSimulator(provider=None, target=None, **fields)

GitHub

베이스: BackendV2

Python 기본(비효율적) 양자 시뮬레이터를 구현합니다.

이 시뮬레이터는 상태 벡터 시뮬레이션의 경우 최대 24 큐비트, 클리포드/안정화 연산 시뮬레이션의 경우 최대 2048 큐비트를 지원합니다.

매개변수

  • 공급자 - 백엔드의 공급자 객체에 대한 선택적 역방향 참조입니다.
  • target (Target | None) – 시뮬레이터를 구성하기 위한 선택적 대상입니다.
  • 필드 - 기본 옵션을 재정의하는 데 사용할 값에 대한 kwarg입니다.

레이즈

AttributeError – 백엔드의 옵션 범위를 벗어난 필드가 지정된 경우.


속성

MAX_QUBITS_CLIFFORD

기본값: 2048

MAX_QUBITS_STATEVECTOR

기본값: 24

coupling_map

반환하는 CouplingMap 객체

dt

입력 신호의 시스템 시간 분해능 반환

백엔드에서 펄스 스케줄링을 지원하는 경우 이 기능을 구현해야 합니다.

리턴

입력 신호 시간 간격(초)입니다. 백엔드에서 dt 을 정의하지 않으면 None 이 반환됩니다.

dtm

출력 신호의 시스템 시간 분해능 반환

리턴

출력 신호 시간 간격(초)입니다.

레이즈

NotImplementedError – 백엔드가 출력 신호의 시간 단계 조회를 지원하지 않는 경우

instruction_durations

반환하는 InstructionDurations 객체를 반환합니다.

instructions

양식 백엔드의 명령 튜플 목록 (instruction, (qubits))

max_circuits

meas_map

다중화된 측정값의 그룹을 반환합니다

백엔드에서 펄스 스케줄링을 지원하는 경우 이 기능을 구현해야 합니다.

리턴

다중화된 측정값의 그룹화

레이즈

NotImplementedError – 백엔드가 측정 항목 매핑 쿼리를 지원하지 않는 경우

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)

GitHub

주어진 큐비트에 대해 QubitProperties 를 반환합니다.

정의되어 있지 않거나 백엔드에서 이러한 세부 정보 쿼리를 지원하지 않는 경우 이 메서드를 구현할 필요가 없습니다.

매개변수

qubit (int |list[int]) – 해당 QubitProperties 객체를 얻기 위한 큐비트. 이는 1 큐비트에 해당하는 단일 정수이거나 큐비트 목록일 수 있으며, 객체 QubitProperties 목록이 동일한 순서대로 반환됩니다

리턴

지정된 큐비트에 대한 QubitProperties 객체를 반환합니다. 큐비트 목록이 제공되면 목록이 반환됩니다. 큐비트에 대한 프로퍼티가 누락된 경우 None.

레이즈

NotImplementedError – 백엔드가 큐비트 속성 쿼리를 지원하지 않는 경우

리턴 유형

QubitProperties | list [ QubitProperties ]

run

run(run_input, **run_options)

GitHub

백엔드에서 실행합니다.

매개변수

  • run_input (QuantumCircuit orlist) – 실행할 QuantumCircuit (또는 QuantumCircuit 객체 목록)
  • run_options (kwargs) – 추가 런타임 백엔드 옵션

리턴

에서 파생 BaseJob

리턴 유형

BasicProviderJob

추가 정보:

  • run_options 에 지정된 kwarg 옵션은 현재 실행에 대해 같은 이름의 모든 설정 옵션을 일시적으로 재정의합니다. 여기에는 다음이 포함될 수 있습니다:

    • "초기_상태벡터": 벡터형. "초기_상태벡터" 옵션은 0 상태 대신 사용할 사용자 지정 초기 상태벡터를 지정합니다. 이 벡터의 크기는 run_input 인수의 큐비트 수와 일치해야 합니다.
    • "seed_simulator": int. 샘플 생성을 위한 내부 시드입니다.
    • "샷": int. 시뮬레이션에 사용된 샷 수입니다.
    • "memory": bool. True를 선택하면 모든 개별 샷 시뮬레이션의 결과가 결과에 포함됩니다.
    • “use_clifford_optimization”: bool. True인 경우, 안정화기 형식을 사용하여 클리포드 회로 최적화를 활성화합니다. 기본값은 False입니다.

예:

backend.run(
    circuit_2q,
    initial_statevector = np.array([1, 0, 0, 1j]) / math.sqrt(2)
)

set_options

set_options(**fields)

GitHub

백엔드에 대한 옵션 필드 설정

이 방법은 백엔드의 옵션을 업데이트하는 데 사용됩니다. 실행하기 전에 옵션을 변경해야 하는 경우 옵션에 대한 새 값과 함께 kwarg를 전달하면 됩니다.

매개변수

필드 - 옵션을 업데이트할 필드

레이즈

AttributeError – 전달된 필드가 옵션에 포함되어 있지 않은 경우

이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.