Skip to main content
IBM Quantum Platform

DoWhileController

class qiskit.passmanager.DoWhileController(tasks=(), do_while=None, *, options=None)

GitHub

베이스: BaseController[IR, IR]

속성 집합의 do_while 조건이 False 이 될 때까지 주어진 작업을 루프에서 실행합니다.

주어진 작업들은 항상 적어도 한 번은 실행되며, 루프가 반복될 때마다 모든 작업이 실행됩니다(오류 상태가 설정된 경우는 예외입니다). 이 컨트롤러는 입력 및 출력 적외선(IR)이 동일합니다.

새 플로우 컨트롤러를 만듭니다.

매개변수

  • options (dict[str, Any] | None) – 이 플로우 컨트롤러의 옵션입니다.
  • tasks (Task[IR, IR] | Iterable[Task[Any, Any]])
  • do_while (Callable[[PropertySet], bool] | None)

속성

passes

이전 버전과의 호환성을 위한 작업의 별칭입니다.


메소드

execute

execute(passmanager_ir, state, callback=None)

GitHub

입력된 키스킷 IR에 대한 최적화 작업을 실행합니다.

매개변수

  • passmanager_ir (IR) – 최적화할 Qiskit IR.
  • state (PassManagerState) – 패스 관리자 자체의 워크플로 실행과 관련된 상태입니다.
  • callback (Callable | None) – 최적화 작업이 실행될 때마다 호출되는 콜백 함수입니다.

리턴

최적화된 키스킷 IR 및 워크플로 상태.

리턴 유형

튜플 [ IR_OUT, PassManagerState ]

iter_tasks

iter_tasks(state)

GitHub

실행할 다음 작업을 선택하는 사용자 지정 로직입니다.

컨트롤러 서브클래스는 상태를 소비하여 적절한 작업 파이프라인을 구축할 수 있습니다. 작업 실행 후 업데이트된 상태는 yield 문의 '반환' 값으로 다시 피드백됩니다. 이는 작업 실행 순서가 런타임에만 결정된다는 것을 나타냅니다. 이 메서드는 지정된 상태 객체를 변경할 수 없습니다.

매개변수

  • state (PassManagerState) – 이 흐름 컨트롤러가 실행되기 시작할 때의 패스매니저 워크플로우 상태입니다.
  • 상태 - 마지막으로 산출된 작업을 실행한 후 패스 관리자의 상태입니다. 생성기는 로직과 관련이 없는 경우 이를 검사하거나 업데이트할 필요가 없습니다.

산출량

작업 - 실행할 다음 작업입니다.

리턴 유형

Generator [ Task [ Any, Any ], PassManagerState, None]

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