본문으로 건너뛰기
623 / PHOTONIC COMPUTING
먼저 알아두면 좋아요 · 복소수의 위상, 행렬 곱과 특잇값 분해를 복습하세요.
단원 목록 (650) · 광 간섭계와 행렬 곱
이해하는 속도로 읽으세요.개념도이론실험확인 문제

광장에서 행렬 곱까지

빛을 섞으면 진폭과 위상이 합쳐지고, 광검출에서는 세기가 관측됩니다.

M = R(θ) diag(1, d) R(−θ)

입력을 회전해 두 채널을 만든 뒤 한 채널을 감쇠하고 반대로 회전합니다.

진폭과 검출 파워 비교하기
이 단원 목차

1. 결맞은 광장의 진폭으로 데이터 표현하기

두 도파로의 복소 광장 진폭을 x=(x1,x2)Tx=(x_1,x_2)^T로 표시합니다. 두 장이 섞일 때 보강되거나 상쇄되는 정도는 상대 위상에 따라 달라집니다. 공통 정규화에서 입력 파워는 ∣x1∣2+∣x2∣2|x_1|^2+|x_2|^2에 비례합니다. 음의 실수 진폭은 양의 진폭과 위상이 π\pi만큼 다릅니다. 일반 광검출기는 세기 ∣xj∣2|x_j|^2를 읽으므로 진폭 부호 정보가 사라집니다. Shen 외, 결맞은 나노광 회로의 딥러닝 실험

2. 위상 조절로 두 채널을 회전시키기

이상적인 50:50 결합기와 위상 지연의 행렬을 다음 규약으로 둡니다.

B=12(1ii1),P(θ)=diag⁡(eiθ,e−iθ).B=\frac{1}{\sqrt{2}}\begin{pmatrix}1&i\\i&1\end{pmatrix}, \qquad P(\theta)=\operatorname{diag}(e^{i\theta},e^{-i\theta}).

결합기, 위상 지연, 역결합기를 차례로 통과하면 다음 회전을 얻습니다.

B†P(θ)B=R(θ)=(cos⁡θ−sin⁡θsin⁡θcos⁡θ).B^\dagger P(\theta)B =R(\theta)=\begin{pmatrix}\cos\theta&-\sin\theta\\\sin\theta&\cos\theta\end{pmatrix}.

두 내부 경로의 위상 차이는 2θ2\theta입니다. 입력 (1,0)T(1,0)^T에 대해 출력 파워는 각각 cos⁡2θ\cos^2\theta, sin⁡2θ\sin^2\theta입니다. θ\theta를 0에서 π/2\pi/2로 늘리면 무손실 모형의 전체 파워가 보존되면서 파워가 한 포트에서 다른 포트로 이동합니다.

3. 채널별 감쇠 추가하기

실수 행렬의 특잇값 분해는 M=UΣVTM=U\Sigma V^T입니다. 2차원 직교행렬은 회전과 필요할 경우 위상 반전으로 구성할 수 있습니다. 수동 감쇠기의 진폭 투과율은 최대 1이므로, 최대 특잇값이 1보다 큰 행렬은 배율을 줄여 구현하고 그 배율을 시스템에서 추적합니다. D=diag⁡(1,1/2)D=\operatorname{diag}(1,1/2)라 하면

R(π/4)DR(−π/4)=(3/41/41/43/4).R(\pi/4)D R(-\pi/4)=\begin{pmatrix}3/4&1/4\\1/4&3/4\end{pmatrix}.

진폭 투과율이 1/21/2인 채널은 파워를 1/41/4만 전달합니다.

4. 부호가 있는 예를 손으로 계산하기

위 행렬에 x=(1,−1)Tx=(1,-1)^T를 넣으면 y=(1/2,−1/2)Ty=(1/2,-1/2)^T를 얻습니다. 정규화된 입력 파워는 2, 출력 파워는 1/21/2입니다. 입력 전체의 부호를 바꾸어도 직접 검출 결과는 (1/4,1/4)(1/4,1/4)로 같습니다. 결맞은 기준 광장과 섞으면 위상 차이를 세기 차이로 바꾸어 부호를 구별할 수 있습니다.

5. NumPy로 회로 검산하기

import numpy as np

B = np.array([[1, 1j], [1j, 1]]) / np.sqrt(2)

def rotation(theta):
    phases = np.diag(np.exp(1j * np.array([theta, -theta])))
    return B.conj().T @ phases @ B

theta = np.pi / 4
R = rotation(theta)
D = np.diag([1, 0.5])
M = R @ D @ rotation(-theta)
x = np.array([1, -1])
y = M @ x
assert np.allclose(R.conj().T @ R, np.eye(2))
assert np.allclose(M, [[.75, .25], [.25, .75]])
assert np.allclose(y, [.5, -.5])
assert np.allclose(np.abs(y)**2, np.abs(M @ (-x))**2)
print(np.real_if_close(y), np.abs(y)**2)

6. 설정한 행렬을 검증할 실험 설계하기

교정한 결맞은 입력을 넣고 위상 기준을 사용해 진폭을 측정합니다. 복원한 행렬을 설정 목표와 비교합니다. 기저 입력의 파워만 재면 투과율의 크기를 확인할 수 있습니다. 입력 중첩을 추가하면 기저 입력의 파워에서 드러나지 않는 상대 위상 오차도 살필 수 있습니다. 위상 설정, 삽입 손실, 읽기 규약을 기록해 검증을 재현할 수 있게 합니다. 구현을 비교할 때는 광학 코어의 동작과 변환·제어·읽기를 포함한 시스템 비용을 기록합니다.

CHECK YOUR UNDERSTANDING

설명할 수 있나요?

실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.

1. 진폭 투과율이 0.5인 채널의 파워 투과율은 얼마인가요?
2. 모든 입력 진폭의 부호를 바꾸면 검출 세기는 어떻게 되나요?

선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.