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에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.