검수요청.png검수요청.png

양자얽힘

위키원
59.31.88.144 (토론)님의 2023년 7월 1일 (토) 23:17 판 (배경)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
이동: 둘러보기, 검색

양자얽힘(quantum entanglement)이란 하나의 입자를 둘로 쪼개서 아주 먼 거리에 위치시키더라도 한 쪽의 스핀(spin) 방향이 정해지면 동시에 다른 쪽의 스핀 방향이 반대로 정해지는 현상을 말한다. 예를 들어 양자 하나를 지구에 두고, 그와 얽혀 있는 다른 양자 하나를 100만 광년 떨어진 먼 우주에 두더라도, 지구의 양자가 스핀업이 되면 먼 우주의 양자는 동시에 스핀다운이 되는 현상이다.

개요[편집]

양자역학에서 양자얽힘은 두 부분계 사이에서 존재할 수 있는 일련의 비고전적인 상관관계를 의미한다. 얽힘은 두 부분계가 공간적으로 서로 멀리 떨어져 있어도 존재할 수 있다. 예를 들어, 두 입자를 일정한 양자 상태로 둬서 두 입자의 스핀이 항상 반대된다고 가정한다. 양자역학에 의하면 측정하기 전까지는 두 입자의 상태를 알 수 없다. 하지만 측정을 통해 그 순간 한 계의 상태가 결정되고 이는 즉시 그 계와 얽혀 있는 다른 계의 상태까지 결정한다. 마치 정보가 한 계에서 다른 계로 순식간에 이동한 것처럼 보이게 한다.

소립자가 붕괴하여 전자와 양전자와 나뉘었을 때, 전자는 음전하를, 양전자는 양전하를 가진다. 물리량은 동일하지만 반대의 전하를 가진다. 양자얽힘은 여기서 전자를 스핀업하면 양전자가 스핀다운되고, 양전자를 스핀업하면 전자가 스핀다운된다. 즉 입자 하나를 둘로 쪼갠 후, 한 입자의 상태를 바꾸면 다른 한 입자는 동시에 그와 반대 상태로 바뀐다. 만약 전자를 지구에 둔 간다면, 이 경우에도 역시 전자를 스핀업하면 베텔기우스의 양전자가 동시에 스핀 다운한다. 만약 지구가 태양계에서 약 640광년 정도 멀리 떨어진 베텔기우스와 통신한다면, 지구가 보낸 연락은 베텔기우스에 약 640년이 지난 뒤에 도착한다. 베텔기우스에서 지구로 보낸 연락 또한 마찬가지이다. 따라서 빛의 속도로 통신한다고 해도 연락을 주고받는데 최소 1280년의 세월이 걸리게 되는데, 여기서 양자얽힘 현상이 적용된다면 아무리 멀리 떨어진 곳이라도 동시에 통신할 수 있어서 연락이 수월해진다.[1]

이러한 양자 얽힘 개념이 등장한 후, 양자암호, 양자컴퓨터 등의 연구 및 개발, 실험 등은 꾸준히 진행되고 있으며, 이를 통해 양자얽힘 이론의 예측을 실증할 수 있었다. 한쪽에서는 철학적인 논의도 꾸준히 진행되었는데, 그중 하나가 양자얽힘 현상이 국소성의 원리를 위배한다는 주제이다. 국소성의 원리는 계의 상태에 관한 정보가 항상 그 계의 주위를 통해서만 매개될 수 있다는 원리를 말하는데, 만약 양자얽힘 현상에 의해서 정보가 전달된다면 별도로 주위를 통하지 않고도 정보를 전달할 수 있기 때문에 국소성의 원리와 모순된다. 결국 양자 얽힘 과정에서 실제로 정보가 어떤 식으로 전달되는지에 대한 논의는 계속 진행되었다. 양자얽힘은 국소성의 원리를 위반하지만, 빛보다 빨리 정보를 전달할 수 없기 때문에 상대성 이론을 위배할 수 없다. 양자얽힘을 통하여 고전적인 정보와 양자역학적인 정보를 함께 보낼 방법이 존재하는데, 이것을 바로 양자전송이라고 부른다. 그러나 이 경우에도 역시 정보를 빛보다 빠르게 전송하는 것은 불가능하다.[2]

배경[편집]

양자얽힘은 양자역학의 코펜하겐 해석에서 유도되는 결론 중 하나이지만, 비직관성에 의해서 아인슈타인을 비롯한 여러 과학자에게 환영받지 못했다. 이들은 양자역학의 표준해석방법인 코펜하겐 해석을 받아들이지 않았고, 그 대신 숨은 변수 이론을 만들었다. 이 이론은 아직 알려지지 않은 결정론적 매개변수가 상호작용을 유도한다는 내용인데, 코펜하겐 해석의 확률적인 해석을 반대하는 입장이었다. 1935년, 알베르트 아이슈타인, 보리스 포돌스키, 네이선 로젠은 양자역학의 비국소적이고 비직관적인 현상에 대한 사고 실험인 EPR 역설을 발표했다. 양자역학과 비슷한 물리 현상을 예측하면서 국소성 원리 또한 만족하는 숨은 변수 이론을 찾기 위해 노력했다. 1964년에 존 벨은 모든 숨은 변수 이론이 만족하지만, 양자역학은 만족하지 않는 벨 부등식이라는 조건을 유도했다. 실험 결과, 실제 물리 현상은 벨 부등식을 따르지 않는다는 사실이 밝혀져, 자연계는 숨은 변수 이론으로는 기술할 수 없다.

정의[편집]

브라-켓 표기법을 사용한다. 서로 상호작용하지 않는 두 부분계 A와 B로 이루어진 전체 계를 생각해본다. 그렇다면 전체 계의 힐베르트 공간은 A와 B의 힐베르트 공간의 텐서 곱이다.


식이 위와 같다면 전체 계의 상태 가운데 일부는 다음과 같이 쓸 수 있다.

, 여기서 

이렇게 두 부분계의 상태의 텐서 곱으로 나타낸 상태는 분리가능한 상태라고 부른다. 반대로 전체 계의 상태 중에서 이와 같이 두 부분계의 상태의 텐서 곱으로 나타낼 수 없는 상태가 얽힌 상태이다. 예를 들어 다음과 같이 가 평행하지 않고, 가 평행하지 않을 때는 일반적으로 얽힌 상태이다.


수학적으로, 양자역학적 상태는 힐베르트 공간 의 반직선으로 이루어진 사영 힐베르트 공간의 원소이다. 두 부분계의 상태의 텐서 곱 을 나타내는 함수는 세그레 매장이라고 한다. 따라서 분리가능한 상태는 세그레 매장의 치역이며, 그 여집합이 얽힌 상태이다.

개념[편집]

얽힘이라는 단어 자체는 풀림의 반대말이다. 상관성의 예로 주사위를 던졌을 때의 예를 하나 들어보자. 1번 주사위에서 1이 나오면 2번 주사위에서도 무조건 1이 나와야 하고, 1번 주사위에서 2가 나오면 2번 주사위에서도 무조건 2가 나온다. 이렇게 주사위의 결과가 완전하게 상관관계를 가지고 같은 숫자의 결과로 상관관계를 가지는 경우, 마치 두 주사위를 던지는 결과 또는 두 주사위의 상태가 서로 얽혀있는 것처럼 보인다. 두 주사위를 던졌는데 하나의 결과만 본다면 다른 주사위의 결과가 뒤따라오기 때문이다. 하지만 이러한 상관성을 가진 상황만을 가지고 전문적인 양자물리학의 얽힘 상태로 보기는 어렵다. 얽힘 상태는 앞의 두 주사위처럼 극단적인 관측 결과의 상관성도 물론 포함하지만, 결과의 상관성이 보이게끔 하는 비국소성이라는 특성을 반드시 가지고 있어야 비로소 그 상관관계가 얽힘 상태가 된다.

비국소성과 국소성[편집]

비국소성은 양자얽힘 개념에서 핵심적인 특성이자, 결과의 상관성을 보이게끔 하는 메커니즘에 해당한다. 이에 관해 설명하기 위해 그 반대인 국소성에 대한 개념부터 설명해야한다. 누가, 언제, 어디서, 어떤 방식으로 던져도 항상 같은 숫자가 나오는 주사위가 두개 있다. 두 주사위는 서로의 형체도 잘 안 보일 정도로 멀리 떨어진 전혀 다른 장소로 던져진다. 이 경우, 두 주사위 간의 상관관계와 관련한 설들이 존재한다.

  • 이론 1
주사위 내부에 두 가지 핵심적인 장치가 들어있다고 가정하는 것이다. 첫째는, 두 개의 주사위 각각에 완전히 똑같이 설계된 전자장치가 처음부터 내장되어 있다는 내용이다. 이 장치는 주사위를 던질 때마다 매번 주사위의 1에서 6까지의 임의의 정수 중에서 하나를 결과값으로 낸다. 그러나, 두 주사위가 똑같이 설계되어 있어서 같은 회차의 주사위를 던지면 항상 같은 숫자를 결괏값으로 낸다. 이러한 장치는 같은 시드를 활용한 난수 생성기와 같은 아주 간단한 컴퓨터 프로그램으로 충분히 실현할 수 있다. 두 번째는, 주사위 내부에 만능 센서 및 모션제어 시스템이 내장되어 있어서 주사위 주변의 환경을 모두 상세하게 측정하여 그 환경에 맞춰서 주사위 내부의 모터를 작동 시켜, 어떤 환경이든 간에 지금 회차에 전자 프로그램이 내보낸 출력에 해당하는 숫자가 윗면으로 보이게 한다. 여기서 주사위 주변의 환경은 온도, 습도, 주사위가 놓일 표면의 재질, 바람의 속도와 방향 등을 포함한다. 언뜻 보면 불가능할 것처럼 보이나, 결과적으로 윗면에 나오는 면이 여섯 면 중 하나이기만 하면 되기 때문에, 내장된 센서와 운동 제어장치가 완벽하지 않아도 기능은 할 수 있을 것이다.
  • 이론 2
주사위 간의 상관관계에 대한 한가지 설이 더 있다. 현실적으로 이루어질 수 있는가는 고려하지 않았으며, 이론적으로 추측한다. 두 주사위가 서로 같은 숫자를 내는 방법에서, A 주사위가 윗면에 a라는 숫자가 나오면 상대 주사위인 B에도 윗면이 a가 된다. 즉, 아무리 멀리 떨어져 있어도 한쪽의 결과가 나올 때 거의 동시에 정보가 전달되어 다른 쪽도 결과가 동일하게 적용된다. 상대론의 원리인 '어떤 정보도 빛의 속도보다 빠르게 전달될 수 없다'를 위배한다.

국소성의 원리란, 서로 멀리 떨어져 있는 두 물체는 절대로 서로를 직접적으로 간섭할 수도, 영향을 줄 수도 없다는 이론이다. 이론 1의 경우에는 원리상 국소성을 위배하지 않는다. 비교적 구체적이고 어느 정도 검증될 가능성도 있다. 주사위 내부에 존재하는 장치를 제작하는데 다소 고난도의 기술력이 동반될 수는 있겠지만, 장치는 상대 주사위에서 어떤 일이 일어나든 전혀 고려할 필요가 없다. 단지 장치가 존재하는 자신의 주사위의 주변 환경만 잘 관리하면 두 주사위 간의 상관관계를 설명할 수 있다. 서로 정보를 주고받을 수 있더라도, 빛의 속도보다 느리게 통신한다고 하면 이는 국소성의 원리를 위배하는 것이 아니다. 반면에, 이론 2의 경우에는 한쪽 주사위의 숫자가 정해지면 다른 한쪽의 주사위 또한 동시에 숫자가 정해지기 때문에 국소성의 원리를 위배할 수 있다. 이런 상황을 바로 비국소성의 특성을 가진다고 말한다. 상관관계를 설명할 때 국소성의 원리를 만족하는 이론이 적용된다면 이 상관성은 고전적 상관성이며, 비국소성의 특성이 필요한 상관관계라면 이 상관성은 얽힌 상태, 또는 얽혀있는 상관성이다. 그러나 상관성이 있는 두 물체의 상태는 모두 '국소성의 원리를 따르는 방법으로 설명이 가능한지', 즉, 모든 상관성은 '고전적인 상관관계인지' 묻는다면, 전통적으로 현실 세계를 설명하는 물리학 이론들은 국소성의 원리를 따랐다. 아인슈타인을 포함한 많은 사람은 국소성의 원리를 믿었고, 우리는 관측한 두 물체의 결과가 상관관계가 있다면 당연히 그들 각각의 내부에 무슨 일이 일어났기 때문에 상관관계가 발생하는 것이라고 추측한다. 이론 1과 이론 2처럼 결과가 상관성을 가지는 두 물질이 발견된다면, 실험 물리학자들은 그 물체의 내부부터 철저하게 조사한다. 정말 국소성의 원리를 따른다면 주사위에 어떠한 프로그램이나 내부장치가 있을 테니 물질의 내부부터 들여다보는 것이다. 고체를 단계별로 점점 쪼개서 원자 단위까지 살펴보는 실험을 한다거나, 원자를 더 쪼개는 입자 가속기 실험 등, 실험 물리의 많은 예시는 간단히 말해서 이러한 방법론에 따라 진행된다. 물체의 내부에서 어떠한 장치가 발견된다면 물체의 상관성은 역시 국소성의 원리에 입각한 거라고 결론지을 수 있기 때문이다. 실제 많은 경우의 상관성은 국소성의 이론을 따르고 있기도 하다.

그러나, 바로 위에서 언급한 내부 장치나 제어장치가 발견되지 않았을 때는 이런 검증 방법으로는 마땅히 내릴만한 결론이 없다. 실험적인 방법이 정확하지 않았거나 오류가 있어서 발견하지 못한 것일 수도 있고, 상관성에 대한 메커니즘이 정말로 비국소성의 특성이 있을 수도 있고, 또는 지금까지 생각하지 못한 전혀 새로운 방식으로 동작하는 것일 수도 있기 때문이다.

벨 부등식과 벨 테스트[편집]

벨 테스트는 실험 결과 나온 상관성이 과연 국소성의 원리를 따르는지, 비국소성의 특성을 가지는지 판단하는 방법이다. 간단히 말하면 다음과 같다.

  1. 상관성을 가지는 여러 관측 결과를 적당히 곱하고 더하고 뺀 결과가 국소성의 원리를 따른다면 절대 어떤값보다 클 수 없다는 부등식을 제시한다. → 벨 부등식
  2. 실험적으로 정말 그렇게 되는지 검사한다. → 테스트

벨 부등식은 벨의 정리로 잘 알려져 있는데, 영국의 물리학자 존 스튜어트 벨이 처음 제안했다. 국소성의 원리를 따르는 모든 상관성은 바로 이 벨 부등식을 만족해야만 한다. 따라서 만약이라도 실험적으로 벨 부등식이 성립하지 않는다면, 해당 실험 결과는 반드시 비국소성의 특성을 가져야 하며, 이것이 바로 어떤 상관성이 얽힘을 가진다는 실험적인 증명이 된다. 벨 부등식은 존 벨이 처음 제안한 형태 이외에도 물리적인 상황에 따라 여러 종류의 형태로 제시할 수 있다. 간단히 설명하자면 다음과 같다.

왼쪽, 오른쪽에 각각 +1, -1 숫자가 적힌 종이가 존재한다. 그 다음 뒷면에는 +1의 뒷면에 해당하는 위치에 -1, -1의 뒷면에 해당하는 위치에 +1을 쓴다. 그 후, 작성한 종이를 반으로 나눠서 반쪽은 A가 다른 반쪽은 B가 가진다음 서로 멀리 떨어진다.

벨 부등식
A : (앞) +1 (앞) +1 (앞) -1 B : (앞) -1
A : (뒤) -1 (뒤) -1 (뒤) +1 B : (뒤) +1

이제 A와 B는 시간을 정해서 자신의 종이에 적힌 숫자를 동시에 읽는다. 만약 A가 앞명를 봐서 +1이 나온다면 A는 그 즉시 B가 앞을 보면 -1, 뒤를 보면 +1이 적혀있다는 것을 알아챈다. 이 실험에서 A가 B의 결과를 즉시 알 수 있었던 이유는 자신과 B의 종이의 숫자가 서로 반대임을 이미 알고 있었기 때문이다. 따라서 이 실험에서 A와 B가 즉시 서로의 결과를 알아챈다고 해도 국소성의 원리는 위배하지 않으며, 이러한 종류의 상관성은 물론 고전적 상관성이라고 할 수 있다.

그렇다면 이러한 국소성을 따르는 상관성이 존재하는 경우, 다음의 값을 계산해본다. A(앞)을 A의 앞면에 쓰인 숫자, B(뒤)를 B의 뒷면에 적힌 숫자라고 할 때, 라고 부르는 A(앞)(B(뒤)-B(앞))+A(뒤)(B(뒤)+B(앞))의 값은 2가 나온다.[3]

논쟁[편집]

오늘날의 양자얽힘 개념은 아스페를 제외한 다른 실험을 통하여 양자얽힘이 재확인된 상태이며. 실용화에 성공한 사례도 있다. 그러나 과거에 양자얽힘 개념이 등장했을 때는 많은 과학자에게 쉽게 받아들여지지 못했고, 따라서 관련된 논쟁이 많이 발생했다. 관측한 결과가 공간을 초월해서 다른 입자에 동시에 영향을 줄 수 있는 건 특수상대성이론의 '정보전달은 빛의 속도를 넘을 수 없다'는 대전제를 위배하는 것처럼 보일 수 있기 때문이다. 만약 여기서 쌍 입자인 S1과 S2 간에 어떠한 신호를 즉각적으로 전달되는 것이라면 특수상대성이론과 상충한다. 두 입자 간의 즉각적인 상호연관성이 밝혀지면 특수상대성이론은 무너질 것이고, 현대 물리학의 토대 또한 무너질 수 있다. 따라서 물리학자들은 '특수상대성이론의 위배' 문제를 방지하고 해결하기 위해 노력했다. 한 가지 방법은 양자 얽힘을 '초광속 전달'보다 '두 입자 사이의 원초적인 연결고리'와 비슷하게 해석하는 것이다. 그러면 두 광자 간의 거리가 제아무리 멀다고 해도 물리학자들은 이를 물리계의 한 부분으로 생각할 수 있게 된다. 두 광자가 실체를 이루고 있기 때문에 한 광자를 관측하는 건 물리계의 한 부분을 관측하는 것이고, 그 결과가 물리계 내부의 다른 부분에 바로 영향을 준다고 해석한다. 두 번째는 한 입자 관측이 이의 쌍 입자에게 영향은 미치지만, 정보는 전달되지 않는다고 해석하는 것이다. 빛보다 빠른 것은 없다는 특수상대성이론의 명제는 정보를 운반하는 물질에 한정되기 때문이다. 따라서 빛보다 빠르게 움직인다고 해도 정보를 전달하지 않는다면 특수상대성이론에는 위반되지 않는다. 이는 특수상대성이론에 위반되는 것처럼 보일 때 물리학자들이 흔하게 사용하는 해석 방식이기도 하다. 그러므로 광자를 하나 측정하는 동시에 다른 한 광자에 바로 영향을 준다고 해도, 두 광자 간에 교환되는 정보는 없기 때문에 특수상대성이론이 공표한 속도의 한계에는 이상을 미치지 않는다. 두 광자의 스핀은 서로 연관되어 있으나 이들은 어떠한 정보도 주고받지 않기 때문에 전통적인 인과율을 위배하지 않는다.

'동시성의 상대성'개념으로 타협

아인슈타인은 빛보다 빠르게 원거리에 미치는 작용을 유령과 같이 으스스한 원거리 작용이라고 불렀다. 유령 같은 양자얽힘 현상에 대해 일부 물리학자들은 특수상대성이론에 대한 시간의 성질인 동시성을 통해 타협하려고 한다. 특수상대성이론에 의하면 두 사건이 관측자 한 명의 관점에서 동시에 일어난다고 해도 다른 곳에 있는 관측자의 눈에는 동시에 발생한 것이 아니다. 이를 확률 파동에 적용해보면, 한 관측자가 볼 때 확률 파동이 동시에 붕괴했다고 해도, 움직이고 있는 다른 관측자의 눈에는 장소마다 시차를 두고 붕괴하는 것처럼 보일 수 있다. 그뿐만 아니라, 움직이는 두 전자를 볼 때도 어떤 관측자는 오른쪽으로 움직이는 전자가 먼저 관측되었다고 말할 수 있고, 다른 관측자는 왼쪽으로 움직이는 전자가 먼저 관측되었다고 말할 수도 있다. 특수상대성이론은 이 두 주장을 모두 허용하는데, 즉 확률 파동의 붕괴가 실제로 일어나는 일이더라도, 어떤 입자가 다른 입자에 영향을 미치는지 결정할 어떠한 객관적 기준이 없다. 따라서 우리는 확률 파동의 붕괴가 어떤 특별한 관점에서 일어난다고 생각할 수 있다. 그러나 한 관점에만 특별한 속성을 적용하면 특수상대성이론의 모든 관점은 평등하다는 대원칙을 위배하게 된다. 이를 해결하기 위해 많은 의견이 제시됐지만, 오늘날까지도 근본적으로 마땅한 해결책은 발견되지 못했다.[4]

코펜하겐 해석[편집]

전통적인 양자역학에서는 관측을 시도할 때 입자가 이곳에 있다는 사실을 확인하는 순간에 입자의 확률 파동이 바로 변한다. 관측 전에는 다양한 가능성이 파동의 형태로 공존하고 있다가, 관측이 이뤄지면 파동함수가 순간적으로 변하면서 모든 가능성이 관측된 값으로 수렴된다. 많은 물리학자는 이 현상을 확률 파동의 붕괴라고 부르는데, 측정 전 그 지점의 확률 파동 값이 크면 클수록 그 지점으로 붕괴할 가능성이 높다고 이해한다. 다시 말해, 확률 파동의 진폭이 큰 장소일수록 입자를 발견할 확률이 높은 장소이다. 이 붕괴 현상은 표준이론에 의하면 우주 전역에 걸쳐서 동시에 일어난다. 입자가 어디 있는지 알려지면 그와 동시에 다른 곳에서 입자가 발견될 확률은 0이 된다. 따라서 아스페의 실험에서 광자 S1과 S2가 임의의 축에 대해 스핀이 같은 스핀을 가질 때, 중첩원리에 의하면 S1과 S2는 모두 스핀 1의 확률 파동과 스핀 -1의 확률 파동으로 중첩된다. S1의 스핀을 관측했을 때 어떤 축에 대해 1로 측정되면 S1의 파동함수가 우주 전체에 걸쳐 동시에 붕괴하여 -1의 스핀을 가질 확률이 0이 된다. 이 붕괴 현상은 우주 전체적으로 발생하기 때문에 S2가 있는 곳에서도 S1의 확률 파동은 붕괴한다. 또, S2의 스핀이 -1인 확률 파동도 같이 붕괴하여 0이 된다. 다시 말해, S1과 S2가 아무리 멀리 떨어져 있어도 S1은 S2에 바로 영향을 미치고 S2는 S1과 같은 스핀을 갖게 된다.

양자론의 표준해석은 광자 S1의 영향이 S2에 빛보다 신속하게 전달되는 현상을 이렇게 설명한다. 두 입자의 스핀이 서로 반대 방향으로 연관되어 있을 때, S1의 스핀을 측정하자 1이 나왔다고 가정한다. 그럼 우주 전체적으로 펼쳐져 있는 S1의 확률 파동은 붕괴할 것이다. S1과 멀리 떨어져 있는 S2는 이 상황을 바로 감지하고 원래 태어난 대로 S1과 반대 방향의 스핀을 갖는다. 이 과정은 양자역학의 수학을 이용해서 매우 정확하게 서술할 수 있는데, 확률 파동이 붕괴하면서 나타나는 원거리 영향은 아스페의 실험에서 S1과 S2가 같은 스핀 값을 나타내는 횟수를 변화시킨다. 그러나 양자역학의 표준해석은 확률 파동의 붕괴 현상을 제대로 설명할 수 없다. 양자역학의 코펜하겐 해석이 나온 지 90년이 넘어가지만, 아직 코펜하겐 해석의 핵심인 확률 파동 붕괴가 어떻게 이뤄지는지 구체적인 과정을 알아낸 사람은 아무도 없다. 양자역학이 예견하는 확률이 측정 결과와 일치하는 편이기 때문에 확률 파동이 붕괴한다는 가정을 믿을 뿐이다. 인위적으로 도입된 개념이기 때문에 양자역학의 수학이나 실험적인 방법으로 확률 파동의 붕괴를 설명할 수는 없다.[4]

  • 반론
하이젠베르크의 적수인 슈뢰딩거가 코펜하겐 해석에 대한 대응책으로 슈뢰딩거의 고양이 실험을 제시했다. 고양이 실험을 통해 관측 행위 전까지는 죽은 상태와 산 상태가 절대 중첩될 수 없다며 비현실적이라고 지적했지만, 파동함수의 확률론에 의하면 죽은 상태와 산 상태가 굳이 동시에 존재할 필요가 없어서 단지 그 확률이 50:50이라는 점만 충족하면 됐다. 어차피 고양이 상자에 들어 있는 방사성 물질이 붕괴할 확률도 있어서 고양이의 상태도 확률적으로만 나타내도 충분했기 때문이다. 코펜하겐 해석은 빛의 입자성과 파동성에 대해서도 빛이 입자이고 파동이라는 개념이 아니라, 관측하는 행위에 따라 영향을 받아 특성이 정의된다고 해석한다. 두 가지 상태가 중첩된다 해도 A이면서 B일 필요가 없으며, 그저 확률로만 중첩 상태가 존재하면 된다.
이에 실재론자인 아인슈타인이 슈뢰딩거의 뒤이어 반론을 제기했다. 코펜하겐 해석에 따르면 우리가 관측했을 때 그 대상의 상태가 정해지는데, 우리가 달을 보기 전에는 달의 상태가 정해져 있지 않다가, 우리가 달을 보는 순간 상태가 정해지는 것이냐며 비판했다. 즉, 우리가 보지 않아도 달이 존재하냐고 물으면 실재론자는 존재한다고 답하지만, 코펜하겐 해석을 지지하는 사람들은 실증론에 기반하기 때문에 관측하지 않아서 알 수 없다고 주장한다. 이에 그는 '신은 주사위 놀이를 하지 않는다'며 사고실험을 제시했다.

EPR 역설[편집]

아인슈타인의 첫 번째 사고실험은 특정 시간에 광자를 방출하고 상자의 줄어든 무게를 측정하는 장치이다. 변화한 무게 차는 에너지의 편차로 해석될 수 있기 때문에, 시간 변화량과 에너지 변화량을 오차 없이 동시에 측정할 수 있고, 따라서 불확정성의 원리는 성립되지 않는다는 주장이었다. 하지만 광자 방출 시에 발생하는 반동력으로 위치량의 불확정성과 시간 측정 자체에 대한 오차가 있어 실패했다. 이다음으로 제시한 개념이 EPR 역설이다. EPR 역설은 1935년에 아인슈타인이 그의 제자인 포돌스키와 로젠과 함께 발표한 사고실험 연구로, EPR은 이들의 머리글자를 따와서 만들어졌다. 발표한 논문명은 '물리적 실재에 대한 양자역학적 설명이 완벽하다고 할 수 있는가'였다.

EPR 역설은 코펜하겐 해석의 문제 제기에서 시작한다. 코펜하겐 해석은 어떤 상태를 측정할 때, 측정함과 동시에 그 계는 측정에 해당하는 고유상태로 붕괴한다. 국소성 원리에 의해서 양자역학의 측정 결과는 멀리 떨어진 곳에서도 측정할 수 있다는 것이다. 예를 들어 검은 돌과 하얀 돌이 들어 있는 상자가 있다고 가정한다. 어떤 돌이 들어 있는 상자인지는 알 수 없고, 수업 광년 떨어진 곳에 떨어트려 놓고 한쪽 상자의 돌을 관찰하면 반대편 상자의 돌이 어떤 돌인지 알게 된다. 즉, 한쪽 상자를 열었을 때 결과가 다른 쪽의 인자에 대한 관측 없이도 상태를 알 수 있다. 그런데 이 돌들은 서로 국소성의 원리가 작용하지 않을 만큼 아주 먼 거리에 떨어져 있고, 빛보다 빠른 존재가 있을 수 없는데도 반대쪽 돌의 상태를 알 수 있는 빛보다 빠른 원격 작용이 일어난다.

  • 반론
그러나 사고실험에 의한 양자 얽힘 상태를 의미 있는 정보 전달로 보지 않는다. 양자얽힘은 태초에 양자들이 서로 얽혀 있던 상태로, 한쪽이 결정되면 다른 쪽은 곧바로 상태를 알 수 있다. 따라서 물리학의 국소성 원리가 통하지 않는 비국소성이 적용된다는 주장이다. 성능이 좋은 손전등으로 물체를 비추면 멀리서도 그림자가 생기기 마련이다. 투사 거리를 더 멀게 해서 수억 광년 떨어진 곳에 그림자를 투사시킨다고 할 때, 성능이 정말 좋은 손전등이 약간 움직인다고 해도 수억 광년 떨어진 위치의 그림자는 엄청나게 크며, 움직이는 거리는 상당하다. 투사 거리가 멀수록 그림자는 광속만큼 빠른 움직임을 보이거나 심지어 광속보다 더 빠르게 그림자가 이동한다고 상상할 수도 있다. 투사된 그림자도 빛보다 빨리 정보를 전달하는 것처럼 보이나, 원자 자체를 이동시킨 것은 아니다. 빛보다 빠르게 상호작용하는 것은 허용되지만, 빛보다 빠른 것은 없기 때문이다.
그런데도 양자얽힘을 활용한 에너지와 정보 교환이 있을 수 있다는 사실은 실험을 통해 증명되었다. 양자 열역학에서는 뒤집힌 열교환의 사계를 찾을 수 있다. 양자 상태의 두 핵스핀이 처음에 서로 연결된 양자얽힘 상태였다면, 차가운 스핀은 더 차갑게 되고 뜨거운 스핀은 더 뜨겁게 되는 국부적인 열교환이 일어난다.[5]

연구[편집]

국내[편집]

  • 엑시톤(exciton)
엑시톤은 자유전자와 양공, 즉 전자가 빠져나간 빈자리로 이루어진 입자이다. 절연체에 빛을 쪼면 원자에 속박된 전자가 들뜬 상태가 되어 양공의 주변을 맴돈다. 엑시톤을 이루는 전자와 양공이 다시 만나면 빛을 방출하고 바닥상태로 돌아가는데, 여기서 이 빛을 감지하여 엑시톤의 존재를 확인할 수 있다. 이러한 엑시톤과 관련하여, 국내에서 '전자 한 개가 여러 원자에 나뉘어 존재하는 양자다체상태의 새로운 엑시톤'을 처음으로 발견한 연구팀이 있다. 2016년에 서울대 물리천문학부 연구팀이 2차원 자성 물질의 빛 방출 실험을 하다가 특정 에너지 대에서 비정상적으로 강한 빛을 방출하는 엑시톤을 발견했다. 2020년 7월, 서강대 정현식 교수, 연세대 김재훈 교수, 고등과학원 손영우 교수 등이 서로 다른 방식의 실험 및 계산을 약 5년간 진행하여 새로운 엑시톤이라는 확인 작업을 마쳤다. 연구팀은 2차원 자성물질인 삼황화린니켈을 대상으로 한 빛 방출 실험에서 통상적인 수준보다 수백 배는 더 좁게 분포하는 신호를 발견하여 결맞음성이 매우 강한 엑시톤 신호를 발견한 덕에, 방사광가속기를 이용하여 구체적인 데이터를 얻어냈다. 연구는 크게 방사광가속기를 통한 엑시톤 운동량 및 에너지 데이터 측정, 이론적인 설명을 위한 150만 개의 경우의 수 계산, 광 흡수 실험으로 광 방출 실험과 비교하는 것으로, 세 가지 측정 방법을 사용했다. 다체 계산을 이용한 이론연구와 함께, 세 가지 실험이 모두 같은 결과를 나타냈다. 이러한 현상은 이론적으로 '쟝-라이 양자다체상태'를 들 수 있는데, 이는 전자가 존재할 확률이 산재해 있어서 여러 원자가 동시에 속박된 독특한 양자 상태를 뜻한다. 2차원 자성체는 물론, 다체 상태에 의해서 스핀이 얽힌 엑시톤은 발견된 적이 없다는 점에서 가치 있는 연구이다.[6]

예제[편집]

다음 예시에서는 A와 B가 각각 두 개의 상태 와 을 가질 수 있는 계라고 가정한다. 대표적으로 전자의 스핀 등이 있다. 이때 다음과 같은 상태는 얽혀 있다.


이런 상태에서 A의 스핀을 측정할 시, 다음의 두 결과 중 하나가 50% 확률로 일어날 수 있다.

  1. A의 스핀을 0으로 측정한다. 이에 따라 계의 상태는 로 바뀐다.
  2. A의 스핀을 1로 측정한다. 이에 따라 계의 상태는 로 바뀐다.

만약 A의 스핀을 0으로 측정한다면, 뒤 따라 B의 스핀을 측정했을 때 100% 확률로 매번 1을 얻을 것이다. 반대로, A의 스핀을 1로 측정한다면, 뒤 이어 B의 스핀을 측정했을 때 매번 0을 얻는다. 그러나 A의 스핀을 먼저 측정하지 않고 B의 스핀을 측정한다면, B는 50% 확률로 0이나 1을 얻는다. 이에 따라, A의 스핀의 측정이 B의 스핀의 측정에 일종의 영향을 줄 수 있다. 이는 A와 B가 공간적으로 매우 멀리 떨어져 있어도 가능하다. 이것은 EPR 역설의 한 형태이다. 하지만 얽힘 현상으로 먼 거리를 거쳐 정보를 전송하는 건 불가능하다. A를 측정하여 어떤 결과를 얻을지 알 수 없기 때문이다.

만약 스핀의 상태를 복제할 수 있다면 다음과 같이 정보를 전달하는 방법을 생각해 볼 수 있다. A계에서 한 비트를 전송하고 싶다고 한다면, 0을 전송하려면 아무것도 하지 않고, 1을 전송하려면 A의 스핀을 측정한다. 그렇다면, B에서 전송한 결과를 다음과 같이 받을 수 있다. 우선, B의 스핀 상태를 여러 번 복제하고, 복제한 상태들의 스핀을 각각 측정한다. 만약 A의 스핀을 측정하지 않았고, A가 0을 전송했으면, B의 복제본들 측정 결과는 제각각일 것이나, 만약 A의 스핀을 측정하고 A가 1을 전송했다면, B의 복제본들의 스핀은 모두 0이거나 모두 1이어야 한다. 그러나 양자역학적 상태는 복제 불가는 정리에 의해서 정확히 복제하는 것이 불가능하고, 이러한 정보 전달 방법은 불가능하다.

스핀 단일 상태의 상관 관계[편집]

위와 같은 상관관계는 고전적으로 설명할 수있다. 예를 들어, A의 스핀과 B의 스핀이 항상 반대이지만, 어느 스핀이 0이고 어느 스핀이 1인지는 알 수 없을 수도 있다. 그러나 얽힘은 다음과 같은 예시처럼 고전적으로 설명하기 힘든 상관관계를 가질 수도 있다. 두 개의 전자로 이루어진 계를 생각해봤을 때, 전자는 스핀이 페르미온이므로, 페르미-디랙 통계로 인하여 계의 파동 함수는 반대칭적이다. 그 중 총 스핀이 0인 스핀 단일 상태는 다음과 같다.


위의 식은 명시적으로 스핀이 양자화된 방향을 표시했다. 위의 식과 같은 상태의 두 입자로 이루어진 계에서 하나의 스핀을 측정하는 경우, +나 -가 나올 확률은 반반일 것이다. 이 경우도 위와 마찬가지로 다음과 같다.

  1. A를 측정해서 +가 나왔다면, 계 B를 측정하면 반드시 -가 나와야 한다. 즉, A를 +로 측정하면 계의 상태는 로 바뀐다.
  2. A를 측정해서 -가 나왔다면, 계 B를 측정하면 반드시 +가 나와야 한다. 즉, A를 -로 측정하면 계의 상태는 로 바뀐다.

이러한 사고 실험은 실제로 수행하려면 총스핀이 0인 입자가 붕괴하는 과정을 사용해야만 한다. 각 운동량 보존에 의해 붕괴된 두 입자의 스핀합도 0이어야 하며, 따라서 동일한 입자가 생성될 경우에는 스핀 단일 상태로 생성되게 된다. 이 같은 예로는 에타 중간자가 뮤온 쌍으로 붕괴하는 현상이 있다.


하지만 이러한 현상은 일어날 확률이 로 매우 작기 때문에 실험에는 부적합하다. 다른 예로는, 작은 운동 에너지를 갖는 두 양성자가 출동해서 다시 튀어나가는 현상으로 들 수 있다.


파울리 배타 원리때문에 상호작용한 양성자들은 상태에 있고, 산란된 양성자들의 스핀 상태는 양성자들이 멀리 떨어지 상태에서도 위와 같이 얽혀 있다. 다시 측정 결과로 돌아와서 보면 위의 순수한 계의 예시와 별 다른 것이 없어 보인다. 만약 흰 공과 검정색 공이 든 항아리에서 공 하나를 꺼내 확인해본다고 한다면, 흰 공이 앨리스에게로 갔다면, 밥은 검은색 공을 꺼내게 된다. 그렇다면 위에서처럼 측정 전에는 알지 못했을 뿐, 항아리 속의 흰공과 검은공을 측정하는 것처럼 똑같이 설명할 수 있지 않을까싶지만, 위의 문제는 항아리처럼 쉬운 문제는 아니다. 스핀이 방향성을 갖기 때문이다. 스핀 단일 상태를 x나 y방향의 스핀 고유 상태로 표시하면, x방향의 고유상태와 y방향의 고유상태는


와 같은 관계를 가지고 있다. 따라서 스핀 단일 상태는


와 같이 표현될 수 있다. x방향의 스핀을 측정한 뒤 B의 z방향 스핀을 측정한다면, A의 x방향 스핀 측정 결과에 상관없이 B의 z방향 스핀은 +와 -가 반반씩 측정될 것이다. A의 x방향 스핀 정보를 측정하면 계의 상태가 또는 로 붕괴할 것이기 때문에 B의 z방향 성분은 무작위로 측정된다.

결과
  • A와 B가 서로 수직한 다른 방향의 스핀 성분을 측정할 때, 두 측정 사이의 상관 관계는 없다.
  • A와 B가 같은 방향을 측정할 때, 두 측정은 100% 상관관계를 갖는다.
  • A의 스핀을 측정하지 않는다면, B는 측정 방향에 상관없이 무작위한 결과를 내놓는다.
A의 측정 결과 B의 측정 결과

따라서, B의 측정 결과는 A에 행새진 측정 방법에 따라 달라지는 것처럼 보인다. 이는 양자역학적으로 측정이 단순히 기존에 있는 상태를 건드리지 않고 기록하는 과정이 아니라, 계의 상태를 바꾸기 때문이다. A의 z방향 스핀 성분을 +로 관찰하면, 계의 상태는 로 바뀐다. 즉, 계의 일부분을 측정해도 계 전체 상태가 바뀐다.[2]

코드[편집]

Q#[편집]

다음은 양자얽힘을 보여주는 벨이라는 프로그램의 코드로, 마이크로소프트에서 제공하고 있다. 벨의 이름은 가장 간단한 중첩과 양자 얽힘의 예를 표현하는 데 사용되는 두 큐비트의 특정 양자 상태를 의미하는 벨 상태에서 따온 이름이다. 코드를 작성하기에 앞서, 우선 원하는 언어나 개발 환경을 사용하여 양자 개발 키트를 설치하고, 해당 키트가 이미 설치된 키트가 최신 버전인지 확인하고 업데이트 과정을 진행한다. 키트를 설치하지 않고도 Q# 프로그래밍 언어의 개요와 양자 컴퓨팅 개념을 확인할 수 있다.

양자 개발 키트의 동작

고전적 비트는 0이나 1 같은 단일 이진값을 보유하는 반면, 큐비트는 0과 1의 중첩이 가능하다. 개념적으로 추상공간의 방향, 즉 벡터로 간주할 수 있고, 이 경우 가능한 모든 방향이 있을 수 있다. 두 고전적인 상태는 두 방향이다. 즉, 0을 측정할 확률은 100%이며, 1을 측정할 확률도 100%이다. 측정 작업은 이진 결과를 생성하고 큐비트 상태를 변경한다. 측정은 0이나 1의 이진값을 생성하는데, 큐비트는 중첩에서 고전적 상태 중 하나로 변경된다. 그 후, 개입 작업 없이 동일한 측정을 반복하며 동일한 이진 결과를 생성한다. 여러 큐비트가 서로 얽힐 수도 있는데, 얽힌 큐비트 하나를 측정하면 다른 큐비트의 상태 정보도 변화한다.

Q# 프로젝트 생성

다음 프로젝트는 마이크로소프트의 비주얼 스튜디오 코드 응용 프로그램을 기반으로 한다. 새 Q# 프로젝트를 생성하고, 프로젝트를 호출한다.

  • program.qs
01 namespace Bell {
02
03     open Microsoft.Quantum.Canon;
04     open Microsoft.Quantum.Intrinsic;
05
06     @EntryPoint()
07     operation HelloQ() : Unit {
08         Message("Hello quantum world!");
09     }
10 }
Q# 응용 프로그램 작성

아래의 첫 번째 코드는 원하는 비트를 사용하는 방법이다. SetQubitState 연산은 큐비트를 매개 변수로 사용하고 또 다른 매개 변수 desired를 사용해서 우리가 원하는 큐비트 상태를 나타낸다. SetQubitState 연산은 M 연산을 통해 큐비트를 측정한다.

  • program.qs
01    namespace Bell {
02       open Microsoft.Quantum.Intrinsic;
03       open Microsoft.Quantum.Canon;
04
05       operation SetQubitState(desired : Result, q1 : Qubit) : Unit {
06           if (desired != M(q1)) {
07               X(q1);
08           }
09       }
10   }

이 연산을 호출해서 큐비트를 고전적인 상태로 설정하면 항상 zero를 반환하거나 one을 반환할 수 있다. 여기서 zero와 one은 큐비트 측정해서 가능한 두 가지 결과를 나타내는 상수이다. SetQubitState 연산은 큐비트를 측정한다. 큐비트가 우리가 원하는 상태이면 SetQubitState는 큐비트를 그대로 두고, 그렇지 않다면 x 연산을 실행해서 큐비트를 원하는 상태로 변경한다.

측정 결과 계산

SetQubitState 연산 효과를 보여주기 위해 TestBellState 연산를 추가한다. 이 연산은 zero 나 one을 입력으로 취하며, 이 입력을 사용하여 SetQubitState 연산을 수 차례 호출하고, 큐비트 측정에서 zero가 반환된 횟수와 one이 반환된 횟수를 집계한다. 물론 TestBellState 연산의 첫 번째 시뮬레이션 출력에서는 zero를 사용하여 매개 변수 입력으로 설정된 모든 큐비트 측정에서 zero를 반환하고, one을 사용하여 매개 변수 입력으로 설정된 모든 큐비트 측정에서 one을 반환한다. SetQubitState 연산이 끝난 후에 다음 연산을 Bell.qs 파일에 추가한다.

01 operation TestBellState(count : Int, initial : Result) : (Int, Int) {
02
03       mutable numOnes = 0;
04       using (qubit = Qubit()) {
05
06           for (test in 1..count) {
07               SetQubitState(initial, qubit);
08               let res = M(qubit);
09
10               // Count the number of ones we saw:
11               if (res == One) {
12                   set numOnes += 1;
13               }
14           }
15            
16           SetQubitState(Zero, qubit);
17       }
18
19       // Return number of times we saw a |0> and number of times we saw a |1>
20       Message("Test results (# of 0s, # of 1s): ");
21       return (count - numOnes, numOnes);
22   }

return() 함수를 사용하여 콘솔에 설명 메시지를 인쇄하기 위해 앞에 줄을 추가했다. TestBellState 연산은 count 반복문을 실행하고, 큐비트에 지정된 initial 값을 설정한 후, 결과를 측정한다. 측정한 0과 1의 개수에 대한 통계를 수집하여 호출자에게 반환하고, 다른 필요한 연산을 수행한다. 다른 사용자가 알려진 상태에서 이 큐비트를 할당할 수 있도록 반환하기 전에 해당 큐비트를 zero로 다시 설정한다.

기본적으로 변수 Q#은 변경할 수 없고, 바인딩된 후에는 해당 값이 변경되지 않을 수 있다. let 키워드는 변경할 수 없는 변수의 바인딩을 나타내느 데 사용되며, 연산 인수는 항상 변경할 수 없다. 예제의 numones와 같이 값이 변경될 수 있는 변수가 필요한 경우에는 mutable 키워드를 사용하여 해당 변수를 선언할 수 있다. 변경할 수 있는 변수의 값은 setQubitState 문을 사용해서 변경할 수 있다. 두 경우 모두 변수 형식은 컴파일러를 통해 유추된다.

프로그램 실행

코드를 실행하기 위해 명령을 제공할 때 실행할 수 있는 컴파일러를 지정한다.

01 namespace Bell {
02    open Microsoft.Quantum.Canon;
03    open Microsoft.Quantum.Intrinsic;
04
05    operation SetQubitState(desired : Result, target : Qubit) : Unit {
06        if (desired != M(target)) {
07            X(target);
08        }
09    }
10
11    @EntryPoint()
12    operation TestBellState(count : Int, initial : Result) : (Int, Int) {
13
14        mutable numOnes = 0;
15        using (qubit = Qubit()) {
16
17            for (test in 1..count) {
18                SetQubitState(initial, qubit);
19                let res = M(qubit);
20
21                // Count the number of ones we saw:
22                if (res == One) {
23                    set numOnes += 1;
24                }
25            }
26
27            SetQubitState(Zero, qubit);
28        }
29
30    // Return number of times we saw a |0> and number of times we saw a |1>
31    Message("Test results (# of 0s, # of 1s): ");
32    return (count - numOnes, numOnes);
33    }
34 }

프로그램을 실행하려면 count 명령줄에서 인수를 지정해야 initial한다. 예를 들어,

//.NET Core CLI
dotnet run --count 1000 --initial One

출력은

//출력
Test results (# of 0s, # of 1s):
(0, 1000)

initial = Zero인 경우에는 다음 사항을 확인한다.

//.NET Core CLI
dotnet run --count 1000 --initial Zero
//출력
Test results (# of 0s, # of 1s):
(1000, 0)
얽힘 준비

먼저 첫 번째 큐비트를 초기 상태로 설정한다. H 연산을 사용하여 중첩 상태로 전환하고, 첫 번째 비트를 측정하기 전에 제어되지 않았음을 나타내는 연산을 한다. 두 큐비트에 대해서 이 연산을 실행할 시 그 결과로 첫 번째 큐비트가 one 인 경우에는 두 번째 큐비트가 대칭 이동한다. 이제 두 큐비트가 서로 얽혔다. 첫 번째 큐비트에 대한 확률은 변한게 없지만, 이제 두 번째 큐비트의 측정 결과는 첫 번째 큐비트의 측정 결과와 항상 동일하다. CNOT 작업은 두 큐비트를 얽어서 두 큐비트 중 한 큐비트에서 일어나는 모든 것이 다른 큐비트에서 발생하도록 했다. 반대로 측정한 경우에도 동일한 상황이 발생한다.

가장 먼저 해야할 할일은 TestBellState에서 두 비트를 할당하는 것이다.

//Q#
using ((q0, q1) = (Qubit(), Qubit())) {

이렇게 하면 TestBellState에서 측정하기 전에 새 연산은 CNOT를 추가할 수 있다.

01 //Q#
02 SetQubitState(initial, q0);
03 SetQubitState(Zero, q1);
04
05 H(q0);
06 CNOT(q0, q1);
07 let res = M(q0);

시작할 때 항상 zero 상태에 있도록 첫 번째 큐비트를 초기화하는 다른 SetQubitState 연산을 추가한다. 또한 두 번째 큐비트를 해제하기 전에 다시 설정해야 한다.

//Q#
SetQubitState(Zero, q0);
SetQubitState(Zero, q1);
//Q#
01 operation TestBellState(count : Int, initial : Result) : (Int, Int) {
02
03        mutable numOnes = 0;
04        using ((q0, q1) = (Qubit(), Qubit())) {
05            for (test in 1..count) {
06                SetQubitState(initial, q0);
07                SetQubitState(Zero, q1);
08
09                H(q0);
10                CNOT(q0,q1);
11                let res = M(q0);
12
13                // Count the number of ones we saw:
14                if (res == One) {
15                    set numOnes += 1;
16                }
17            }
18
19            SetQubitState(Zero, q0);
20            SetQubitState(Zero, q1);
21        }
22
23        // Return number of times we saw a |0> and number of times we saw a |1>
24        return (count-numOnes, numOnes);
25    } 

위 코드를 실행하면 이전과 정확히 동일한 50-50 결과를 얻을 수 있다. 다음은 두 번째 큐비트가 측정되는 첫 번째 큐비트에 반응하는 방법이다. 새로운 TestBellState 연산을 사용한다.

//Q#
01 operation TestBellState(count : Int, initial : Result) : (Int, Int, Int) {
02        mutable numOnes = 0;
03        mutable agree = 0;
04        using ((q0, q1) = (Qubit(), Qubit())) {
05            for (test in 1..count) {
06                SetQubitState(initial, q0);
07                SetQubitState(Zero, q1);
08
09                H(q0);
10                CNOT(q0, q1);
11                let res = M(q0);
12
13                if (M(q1) == res) {
14                    set agree += 1;
15                }
16
17                // Count the number of ones we saw:
18                if (res == One) {
19                    set numOnes += 1;
20                }
21            }
22            
23            SetQubitState(Zero, q0);
24            SetQubitState(Zero, q1);
25        }
26
27        // Return times we saw |0>, times we saw |1>, and times measurements agreed
28        Message("Test results (# of 0s, # of 1s, # of agreements)");
29        return (count-numOnes, numOnes, agree);
30    }
//.NET Core CLI
dotnet run --count 1000 --initial One
//출력
(505, 495, 1000)
//.NET Core CLI
dotnet run --count 1000 --initial Zero
//출력
Test results (# of 0s, # of 1s, # of agreements)
(507, 493, 1000)

첫 번째 큐비트에 대한 확률은 변경되지 않았지만 두 큐비트가 서로 얽혀있으므로 두 번째 큐비트의 측정 결과는 첫 번째 큐비트의 측정 결과와 항상 동일하다.[7]

각주[편집]

  1. 라이거우주, 〈양자역학16 - EPR 패러독스 '양자얽힘'〉, 《네이버블로그》, 2016-07-05
  2. 2.0 2.1 양자 얽힘 위키백과 - https://ko.wikipedia.org/wiki/%EC%96%91%EC%9E%90_%EC%96%BD%ED%9E%98
  3. 김도헌, 〈양자얽힘〉, 《크로스로드》, 2017-07
  4. 4.0 4.1 조송현, 〈세기의 보어-아인슈타인 논쟁 …(라운드 3) EPR 논증 ⑤양자 얽힘의 해석〉, 《인저리타임》, 2017-10-30
  5. 김영훈, 〈알아두면 쓸모있는 양자역학 이야기 – 코펜하겐 해석과 EPR 역설〉, 《삼성디스플레이뉴스룸》, 2019-11-05
  6. 최상국 기자, 〈지하철 2호선의 "유레카"…양자얽힘 엑시톤 첫 발견〉, 《아이뉴스24》, 2020-07-21
  7. 마이크로소프트, 〈자습서: Q#을 사용한 얽힘 살펴보기〉, 《마이크로소프트》, 2020-05-29

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 양자얽힘 문서는 암호 알고리즘에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.