Skip to main content
IBM Quantum Platform

ColibriTD QUICK-PDE API 참조

  • Qiskit Functions

    Qiskit Functions — 파트너 기관들이 개발한 사전 구축형 도구 — 소프트웨어 개발 워크플로의 일부를 추상화하여, 대규모 알고리즘 탐색 및 애플리케이션 개발을 간소화하고 가속화합니다. 이 Qiskit 함수에 대한 가이드를 보려면 클릭하세요.


입력

use_case

유형: `Literal['MD', 'CFD']`

풀고자 하는 미분방정식 체계를 선택하려면 토글하세요

  • 사용 사례별: 아니요
  • 예:"CFD"

parameters

유형: `dict[str, Any]`

미분방정식의 매개변수(물리적 매개변수 및 경계 조건)는 다음 형식을 따라야 합니다:

유스 케이스
값 유형
설명
CFDafloatuu 의 초기값 계수1.0
CFDbfloatuu 의 초기값 오프셋1.0
MDtfloat표면 응력12.0
MDKfloat체적탄성계수100.0
MDnint파워 법칙4.0
MDbfloat질량 단위당 힘10.0
MDepsilon_0float비례 응력 한계0.1
MDsigma_0float비례 변형 한계5.0
  • 사용 사례별: 아니요
  • 예:{"a": 1.0, "b": 1.0}

nb_qubits

유형: `Optional[dict[str, dict[str, int]]]`

함수당 및 변수당 큐비트 수. 최적화된 값은 함수에서 자동으로 선택되지만, 더 나은 조합을 찾아보고 싶다면 기본값을 재정의할 수 있습니다.

  • 사용 사례별: 아니요
  • 예:{"u": {"x": 1, "t":3}}

depth

유형: `Optional[dict[str, int]]`

함수별 안자츠의 깊이. 최적화된 값은 함수에서 자동으로 선택되지만, 더 나은 조합을 찾아보고 싶다면 기본값을 재정의할 수 있습니다.

  • 사용 사례별: 아니요
  • 예:{"u": 4}

optimizer

유형: `Optional[list[str]]`

사용할 최적화 알고리즘은 파이썬 cma 라이브러리의 "CMAES" 또는 scipy의 최적화 알고리즘 중 하나입니다

  • 사용 사례별: MD
  • 예:"SLSQP"

shots

유형: `Optional[list[int]]`

각 회로를 실행하는 데 사용된 샷 수. 여러 단계의 최적화 과정이 필요하므로, 리스트의 길이는 사용되는 최적화기의 수와 같아야 합니다(CFD의 경우 4개). 기본값은 MD의 경우 이고, [50_000] * nb_optimizers``[5_00, 2_000, 5_000, 10_000] CFD의 경우 입니다.

  • 사용 사례별: 아니요
  • 예:[15_000, 30_000]

optimizer_options

유형: `Optional[dict[str, Any]]`

최적화기에 전달할 옵션. 이 입력의 구체적인 내용은 사용된 최적화기에 따라 다르며, 자세한 사항은 해당 최적화기의 설명서를 참조하십시오.

  • 사용 사례별: MD
  • 예:{"maxiter": 50 }

initialization

유형: `Optional[Literal['RANDOM', 'PHYSICALLY_INFORMED']]`

기본값: `PHYSICALLY_INFORMED`

무작위 각도로 시작할지, 아니면 신중하게 선택한 각도로 시작할지. 신중하게 선택한 접근 방식이 모든 경우에 100% 효과가 있는 것은 아니라는 점을 유의하십시오.

  • 사용 사례별: 아니요
  • 예:"RANDOM"

backend_name

유형: `Optional[str]`

사용할 백엔드 이름.

  • 사용 사례별: 아니요
  • 예:ibm_torino

mode

유형: `Optional[Literal['job', 'session', 'batch']]`

기본값: `job`

사용할 실행 모드.

  • 사용 사례별: 아니요
  • 예:"job"

출력

출력 결과는 샘플 포인트 목록과 각 포인트에서 함수의 값을 포함하는 사전입니다:

from numpy import array
solution = {
    "functions": {
        "u": array(
            [
                [0.01, 0.1, 1],
                [0.02, 0.2, 2],
                [0.03, 0.3, 3],
                [0.04, 0.4, 4],
            ]
        ),
    },
    "samples": {
        "t": array([0.1, 0.2, 0.3, 0.4]),
        "x": array([0.5, 0.6, 0.7]),
    },
}

해의 배열 형태는 변수들의 표본에 따라 달라집니다:

assert len(solution["functions"]["u"].shape) == len(solution["samples"])
for col_size, samples in zip(
    solution["functions"]["u"].shape, solution["samples"].values()
):
    assert col_size == len(samples)

함수 변수의 샘플 포인트와 해 배열의 차원 간의 매핑은 변수 이름의 영문자순으로 이루어집니다. 예를 들어, 변수가 와 "t""x" 때, 행 은 고정된 에 대한 solution["functions"]["u"] 해의 "t" 값을 나타내고, 열 은 고정된 에 대한 solution["functions"]["u"] 해의 "x"값을 나타냅니다.

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