ColibriTD QUICK-PDE API 참조
Qiskit Functions — 파트너 기관들이 개발한 사전 구축형 도구 — 소프트웨어 개발 워크플로의 일부를 추상화하여, 대규모 알고리즘 탐색 및 애플리케이션 개발을 간소화하고 가속화합니다. 이 Qiskit 함수에 대한 가이드를 보려면 클릭하세요.
QUICK-PDE Qiskit 함수 가이드
입력
use_case
유형: `Literal['MD', 'CFD']`
풀고자 하는 미분방정식 체계를 선택하려면 토글하세요
- 사용 사례별: 아니요
- 예:
"CFD"
parameters
유형: `dict[str, Any]`
미분방정식의 매개변수(물리적 매개변수 및 경계 조건)는 다음 형식을 따라야 합니다:
유스 케이스 | 키 | 값 유형 | 설명 | 예 |
|---|---|---|---|---|
| CFD | a | float | 의 초기값 계수 | 1.0 |
| CFD | b | float | 의 초기값 오프셋 | 1.0 |
| MD | t | float | 표면 응력 | 12.0 |
| MD | K | float | 체적탄성계수 | 100.0 |
| MD | n | int | 파워 법칙 | 4.0 |
| MD | b | float | 질량 단위당 힘 | 10.0 |
| MD | epsilon_0 | float | 비례 응력 한계 | 0.1 |
| MD | sigma_0 | float | 비례 변형 한계 | 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 arraysolution = {
"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"값을 나타냅니다.