기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Braket의 펄스 제어
펄스는 양자 컴퓨터의 쿼비트를 제어하는 아날로그 신호입니다. Amazon Braket의 특정 디바이스를 사용하면 펄스 제어 기능에 액세스하여 펄스를 사용하여 회로를 제출할 수 있습니다. OpenQASM 3.0을 사용하여 Braket를 통해 SDK또는 Braket를 통해 직접 펄스 제어에 액세스할 수 있습니다APIs. 먼저 Braket에서 펄스 제어를 위한 몇 가지 주요 개념을 소개합니다.
Frames(프레임)
프레임은 양자 프로그램 내에서 클럭과 단계 역할을 하는 소프트웨어 추상화입니다. 클럭 시간은 각 사용량과 주파수로 정의되는 상태 저장 통신사 신호에 따라 증가합니다. 신호를 쿼비트로 전송할 때 프레임은 쿼비트의 반송파 빈도, 위상 오프셋 및 파형 엔벨로프가 방출되는 시간을 결정합니다. Braket Pulse에서 프레임 구성은 디바이스, 빈도 및 단계에 따라 달라집니다. 디바이스에 따라 사전 정의된 프레임을 선택하거나 포트를 제공하여 새 프레임을 인스턴스화할 수 있습니다.
from braket.pulse import Frame # predefined frame from a device device = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2") drive_frame = device.frames["Transmon_5_charge_tx_frame"] # create a custom frame readout_frame = Frame(name="r0_measure", port=port0, frequency=5e9, phase=0)
포트
포트는 쿼비트를 제어하는 모든 입력/출력 하드웨어 구성 요소를 나타내는 소프트웨어 추상화입니다. 이를 통해 하드웨어 공급업체는 사용자가 상호 작용하여 쿼트를 조작하고 관찰할 수 있는 인터페이스를 제공할 수 있습니다. 포트는 커넥터의 이름을 나타내는 단일 문자열로 특성화됩니다. 또한이 문자열은 파형을 얼마나 세밀하게 정의할 수 있는지 지정하는 최소 시간 증분을 표시합니다.
from braket.pulse import Port Port0 = Port("channel_0", dt=1e-9)
파형
파형은 출력 포트에서 신호를 내보내거나 입력 포트를 통해 신호를 캡처하는 데 사용할 수 있는 시간 종속 엔벨로프입니다. 복잡한 번호 목록을 통해 직접 파형을 지정하거나 파형 템플릿을 사용하여 하드웨어 공급자로부터 목록을 생성할 수 있습니다.
from braket.pulse import ArbitraryWaveform, ConstantWaveform cst_wfm = ConstantWaveform(length=1e-7, iq=0.1) arb_wf = ArbitraryWaveform(amplitudes=np.linspace(0, 100))
Braket Pulse는 상수 파형, 가우시안 파형, Adiabatic Gate(DRAG) 파형에 의한 파생물 제거를 포함한 표준 파형 라이브러리를 제공합니다. 다음 예제와 같이 sample
함수를 통해 파형 데이터를 검색하여 파형의 모양을 그릴 수 있습니다.
gaussian_waveform = GaussianWaveform(1e-7, 25e-9, 0.1) x = np.arange(0, gaussian_waveform.length, drive_frame.port.dt) plt.plot(x, gaussian_waveform.sample(drive_frame.port.dt))
![ZaE = True(하단 곡선) 및 ZaE = False(상단 곡선)의 두 가지 경우에 대한 시간 경과에 따른 진폭을 보여주는 그래프입니다. 곡선의 종 모양은 약 0.5초에 피크를 이루며 진폭은 0.10 a. u.입니다.](images/gaussianwaveform.png)
앞의 이미지는에서 생성된 가우스 파형을 보여줍니다GaussianWaveform
. 펄스 길이 100ns, 너비 25ns, 진폭 0.1(임의 단위)을 선택했습니다. 파형은 펄스 창의 중심에 있습니다.는 부울 인수zero_at_edges
(범례의 ZaE)를 GaussianWaveform
허용합니다. 로 설정하면 True
이 인수는 t=0 및 t=length
의 점이 0이 되도록 가우시안 파형을 오프셋하고 최대값이 amplitude
인수에 해당하도록 진폭의 크기를 조정합니다.
이제 펄스 수준 액세스에 대한 기본 개념을 살펴보았으므로 게이트와 펄스를 사용하여 회로를 구성하는 방법을 살펴보겠습니다.