Skip to main content
IBM Quantum Platform

FermionicPassManager

class FermionicPassManager(tasks=(), max_iteration=1000)

베이스: BasePassManager[DAGCircuit]

하나를 다른 FermionicCircuit 것으로 변환하는 트랜스파일러 패스 관리자.

이 패스 매니저의 내부 표현(IR)은 이지만 FermionicDAGCircuit, 입력 및 출력 유형은 입니다 FermionicCircuit.

빈 패스 관리자 객체를 초기화합니다.

매개변수

  • tasks (Task[IR, IR] | list[Task[IR, IR]]) – 패스 매니저 일정에 추가될 예정인 패스입니다.
  • max_iteration (int) – 조건이 충족되지 않을 경우 일정이 반복되는 최대 반복 횟수입니다.

상속된 메소드

append

append(tasks)

통과 일정에 작업을 추가합니다.

매개변수

tasks (Task[IR, IR] | list[Task[IR, IR]]) – 일정에 추가할 일련의 패스 관리자 작업들.

인상

TypeError – 작업의 어떤 요소라도 passmanager Task의 하위 클래스가 아닐 때.

리턴 유형

없음

remove

remove(index)

스케줄러에서 특정 패스를 제거합니다.

매개변수

index (int) –. 내의 위치를 기준으로 제거할 인덱스를 전달합니다 passes().

인상

PassManagerError – 인덱스를 찾을 수 없는 경우.

리턴 유형

없음

replace

replace(index, tasks)

스케줄러에서 특정 패스를 교체합니다.

매개변수

  • index (int) – 다음의 위치에 따라 대체할 작업 색인: tasks()
  • tasks (Task[IR, IR] | list[Task[IR, IR]]) – 일정에 추가할 일련의 패스 관리자 작업들.

인상

  • TypeError – 작업의 어떤 요소라도 passmanager Task의 하위 클래스가 아닐 때.
  • PassManagerError – 인덱스를 찾을 수 없는 경우.

리턴 유형

없음

run

run(in_programs, callback=None, num_processes=None, *, property_set=None, **kwargs)

지정된 파일에서 모든 패스를 실행합니다 in_programs.

매개변수

  • in_programs (Any |list[Any]) – 등록된 모든 패스를 거쳐 변환할 입력 프로그램을 입력하십시오. 단일 입력 객체는 Python 내장 리스트 객체일 수 없습니다. 목록 객체는 최적화 대상인 여러 입력 객체로 간주됩니다.

  • callback (Callable[[Task, IR, PropertySet, float, int], None] | None) –

    각 패스 실행 후 호출될 콜백 함수. 이 함수는 5개의 키워드 인수를 받아 호출됩니다:

    task (GenericPass): the pass being run
    passmanager_ir (Any): depending on pass manager subclass
    property_set (PropertySet): the property set
    running_time (float): the time to execute the pass
    count (int): the index for the pass execution

    전달된 정확한 인수는 패스 관리자의 내부 구조를 드러내며, 패스 관리자의 내부 구조가 변경됨에 따라 변경될 수 있습니다. 여러 버전에 걸쳐 콜백 함수를 재사용하려는 경우, 전달되는 인수가 동일한지 반드시 확인해야 합니다.

    콜백 기능을 사용하려면 kwargs 딕셔너리를 인수로 받아 변수에 접근할 수 있는 함수를 정의하면 됩니다. 예를 들어,

    def callback_func(**kwargs):
        task = kwargs['task']
        passmanager_ir = kwargs['passmanager_ir']
        property_set = kwargs['property_set']
        running_time = kwargs['running_time']
        count = kwargs['count']
        ...
  • num_processes (int | None) – 병렬 실행이 활성화된 경우 시작할 병렬 프로세스의 최대 개수입니다. 이 설정은 사용자 설정 파일과 환경 QISKIT_NUM_PROCS 변수의 num_processes 설정을 재정의합니다. 이 옵션이 설정된 경우 시스템 None 기본값 또는 로컬 사용자 설정이 사용됩니다.

  • property_set (dict[str, object] | None) – 지정된 경우, 패스 매니저 파이프라인의 PropertySet 초기값으로 사용할 값입니다. 분석 결과를 안전하게 공유할 수 있다고 판단되는 경우, 이를 통해 한 실행에서 다음 실행으로 분석 결과를 유지할 수 있습니다. 일부 분석은 입력 회로와 특정 조건에 따라 달라질 수 있으므로 Target, 이 논증을 사용할 때는 각별히 주의해야 합니다.

  • kwargs – 컴파일러 프론트엔드 및 백엔드에 전달되는 임의의 인자.

리턴

변환된 프로그램(들).

리턴 유형

어떤

to_flow_controller

to_flow_controller()

이 매니저를 단일 매니저로 선형화하여 FlowControllerLinear, 다른 패스 매니저 내에 중첩될 수 있도록 하십시오.

리턴

선형화된 패스 관리자.

리턴 유형

FlowControllerLinear [IR, IR]

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