양자 상태의 본질: 숨겨진 변수 대 벨의 부등식
이 교실 내 키스킷 모듈을 사용하려면 학생에게 다음 패키지가 설치된 Python 환경이 있어야 합니다:
qiskitv2.1.0 이상qiskit-ibm-runtimev0.40.1 이상qiskit-aerv0.17.0 이상qiskit.visualizationnumpypylatexenc
위의 패키지를 설정하고 설치하려면 키스킷 설치 가이드를 참조하세요. 실제 양자 컴퓨터에서 작업을 실행하려면 학생들은 IBM Cloud 계정 설정 가이드의 단계에 따라 IBM Quantum®에 계정을 설정해야 합니다.
이 모듈은 테스트를 거쳐 12초의 QPU 시간을 사용했습니다. 이는 추정치일 뿐입니다. 실제 사용량은 다를 수 있습니다.
# Uncomment and modify this line as needed to install dependencies
#!pip install 'qiskit>=2.1.0' 'qiskit-ibm-runtime>=0.40.1' 'qiskit-aer>=0.17.0' 'numpy' 'pylatexenc'아래에서 케이티 박사( McCormick )의 모듈 워크스루를 시청하거나 여기를 클릭하여 YouTube 에서 시청하세요.
배경
양자역학 전반에 걸친 많은 계산에서 시스템의 알려진 상태에서 시작하며, 그 상태는 일반적으로 측정을 통해 알 수 있습니다. 오늘은 "측정하기 전에 입자의 상태에 대해 무엇을 말할 수 있는가?"라는 질문에 답하고자 합니다 당연한 결론은 "측정이 허용되지 않는데 어떻게 알 수 있느냐?"는 것입니다
이 질문은 양자역학의 초창기로 거슬러 올라갑니다. 이 분야의 선구자들은 아인슈타인을 비롯한 많은 사람들이 입자는 측정하기 전에는 알 수 없는 어떤 상태에 있다고 주장하며 분파를 이루었습니다. 특히 막스 보른과 훗날 닐스 보어는 입자의 상태는 단순히 인간이 알 수 없는 것이 아니라 측정하기 전에는 자연에 의해 결정되지 않는다고 더 급진적인 주장을 펼쳤습니다. 그런 다음 측정을 통해 확률적으로 파티클을 확실한 상태로 축소합니다. 이 설명에 불만을 품은 아인슈타인은 "신은 주사위를 던지지 않는다"라는 유명한 말을 남겼는데, 이는 대략 "신은 주사위를 던지지 않는다"로 번역할 수 있습니다
이 의견 불일치가 나타난 후 수십 년 동안 많은 사람들은 이 문제에 대한 해답을 찾지 못하거나 관점의 문제라고 생각했습니다. 그러던 1964년, 북아일랜드 출신의 물리학자 존 벨은 이 질문에 대한 확실한 답을 찾을 수 있는 특정 실험의 통계를 탐구하는 논문을 썼습니다. 그는 특정 테스트에서 정의된(그러나 미지의) 양자 상태로부터 한 세트의 통계에 도달하고, 자연에 의해 결정되지 않은 양자 상태로부터 다른 세트의 통계에 도달한다는 것을 보여주었습니다.
벨이 논문을 발표할 당시에는 물리학의 최전선에 있는 연구자 외에는 관련 통계에 대한 실험적 테스트에 접근하기 어려웠습니다. 하지만 오늘날 IBM Quantum은 전 세계 학생들이 클라우드를 통해 원격으로 무료로 실제 양자 장치를 사용하여 양자 상태의 본질을 탐구할 수 있게 해줍니다. 이것이 오늘 여러분이 할 일입니다.
사고 실험의 설정: 스핀의 얽힘
스핀이 없는 입자가 각각 스핀을 가진 두 개의 입자로 붕괴하는 과정이 있습니다. 스핀은 각운동량의 일종이므로, 각운동량 보존 법칙에 따르면 두 입자의 스핀이 정확히 반대 방향으로 정렬되어야 합니다. 실제로 이것은 실험적으로 관찰되었습니다.
예를 들어, 중성 파이 중성자는 때때로 양전자와 전자로 붕괴합니다: 이러한 입자가 무엇인지 모르더라도 걱정하지 마시고, 입자를 너무 잘 알고 있어서 이러한 붕괴 유형이 발생할 가능성이 상대적으로 낮다는 것을 알고 있더라도 걱정하지 마세요. 나오는 입자 중 하나가 스핀 업이면 다른 입자는 스핀 다운되어야 하며, 그 반대도 마찬가지라는 점만 기억하세요. 물론 "위"와 "아래"에 특별한 것은 없습니다. 우리가 흔히 또는 이라고 부르는 것을 따라 측정하면 동일한 반배열이 관찰됩니다. 이 붕괴는 우리가 과거에 어떤 측정이 이루어졌는지에 대한 질문을 피할 수 있고, 붕괴 순간까지 양자와 전자는 존재하지도 않았기 때문에 고려해야 할 매력적인 맥락입니다.
메손을 붕괴시키고 불균일 자기장의 영향을 받아 나오는 입자의 편향을 관찰할 수 있습니다. 스핀을 편향시키는 데 사용되는 불균일 장은 (우연히) 양자 역학적 스핀의 존재에 대한 증거를 수집하는 데 처음 사용한 연구자들의 이름을 따서 스턴-갈라흐 장치라고도 합니다. 스턴 겔라흐 실험의 은 원자와 달리 전자와 양전자도 전하를 띠고 있기 때문에 원래 실험보다 더 복잡하다는 점에 유의하세요. 하지만 우리는 하전 입자가 자기장 속에서 어떻게 움직이는지 알고 있으므로 그 효과를 빼면 됩니다. 다음에서는 계산에 사용되는 편향이 전하가 아닌 입자의 스핀으로 인한 것이라고 가정합니다. 따라서 우리의 목적상 어떤 관찰자가 양자를 얻고 어떤 관찰자가 전자를 얻는지는 중요하지 않습니다. 실험 설정은 다음과 같습니다:
중성자가 붕괴하면서 전자는 한 방향으로, 양전자는 다른 방향으로 튕겨져 나갑니다. 이 두 입자는 각각 불균일한 자기장을 통과하여 자기장 방향으로 또는 자기장 반대 방향으로 편향되게 됩니다.
많은 메손의 소스가 있는 경우 이에 대한 통계를 수집할 수 있습니다. 왼쪽에 있는 관찰자와 오른쪽에 있는 관찰자(각각 루카스와 리한나라고 부릅니다)가 항상 같은 축을 따라 측정하는 경우, 한 쪽이 측정할 때마다 다른 쪽이 측정하고, 한 쪽이 페이지 안으로 측정할 때마다 다른 쪽이 페이지 밖으로 측정하는 등 이러한 통계는 별로 흥미롭지 않을 것입니다. 하지만 플레이어가 원하는 방향을 따라 자유롭게 스핀을 측정할 수 있다면 더 흥미로운 것을 발견할 수 있을 것입니다.
위에서 설명한 입자가 두 관찰자가 측정한 스핀 각운동량으로 날아가는 실험은 아인슈타인, 포돌스키, 로젠이 이 논문에서 처음 제안한 것으로, 이를 'EPR 실험'이라고 부르기도 합니다.
우리의 선택지
명확성을 위해 두 가지 역사적 관점을 다시 설명해 보겠습니다:
옵션 1 (아인슈타인): 두 개의 스핀(전자와 양전자)은 우리가 그것이 무엇인지 모르더라도 어떤 축을 따라 어떤 측정의 결과가 자연에 의해 미리 결정된다는 의미에서 결정됩니다. 이를 공간에서 실제 잘 정의된 방향이 있는 스핀이라고 생각할 수 있는데, 이는 우리에게 알려지지 않았지만 실제로 존재합니다. 또는 , , 또는 그 사이의 모든 것을 따라 측정 결과를 결정하는 일련의 정보 또는 지침으로 생각할 수도 있습니다. 양전자의 스핀을 측정하면(예: z를 따라) 양전자가 z 또는 -z 방향으로 방향과 정렬이 강제됩니다. 전자 스핀이 양전자 스핀과 반대 방향으로 시작했다는 것을 알기 때문에 양전자 스핀이 +z를 따라 측정되면 전자 스핀은 -z 을 따라 측정되지만, 이것은 전자 스핀에 인과적인 영향을 미치지 않습니다. 각운동량을 보존하는 명령의 초기 조건(스핀이 반대 방향으로 정렬됨)을 제외하고는 두 스핀 사이에 연결이 없습니다. 이 옵션을 "숨겨진 변수"라고도 하며, 다른 축을 따라 투영이 결정되지만 우리에게 숨겨져 있습니다.
옵션 2 (탄생): 스핀은 모두 초기 상태에서 결정되지 않은 상태입니다... 단순히 알 수 없는 것이 아니라 물리적으로 정의되지 않은 상태이며, 측정될 때까지 실험 결과에 대한 명확한 방향이나 지침이 없습니다. 양전자 스핀을 측정하면 모든 가능성의 공간이 +z 또는 -z 축을 따라 결정된 단일 상태로 "축소"됩니다. 이 양전자의 측정은 전자 스핀도 양전자와 정확히 반대되는 z를 따라 잘 정의된 투영으로 붕괴되도록 합니다. 이 효과는 양전자와 전자 사이의 공간에 분산되어 발생합니다. 이를 '원거리에서의 스푸키 액션'이라고 부르기도 하지만, 좀 더 극적으로 표현하자면 '비로컬 물리학'이라고 할 수 있습니다.
이해도 점검
아인슈타인과 본의 가설을 실험적으로 구분해 낼 수 있다면 정말 좋을 것입니다. 어떤 선택지가 맞든 상관없이 동일한 결과를 얻을 수 있는 실험에는 어떤 것들이 있을까요? 두 가지 선택지에 따라 결과가 달라지는 실험을 생각해 볼 수 있나요?
참고: 아인슈타인과 보른의 가설에 대해 서로 다른 결과를 보여주는 실험을 고안해 낸다면 정말 놀라운 일이 될 것입니다. 인류는 그런 실험을 생각해 내는 데 수십 년이 걸렸습니다.
지금까지 설명한 실험(즉, 양전자와 전자가 반대 정렬된 상태에서 순 스핀이 없는 경우)을 고수하면 , 또는 을 따라 두 스핀을 측정하면 어떤 옵션이 올바른지에 관계없이 각운동량 보존으로 인해 항상 반대 부호를 얻을 수 있습니다. 한 입자(예: 전자)의 스핀을 한 방향(예: )을 따라 측정하면 다른 입자인 양전자의 스핀이 을 따라 측정됩니다. 대신 방향을 따라 양전자의 스핀을 측정하면 또는 이 똑같이 나올 가능성이 있습니다. 이는 숨겨진 지침이 그렇게 말하거나(아인슈타인의 옵션 1), 전자 스핀을 측정한 후 양전자의 스핀 확률 분포가 업데이트되고 새로운 확률 분포가 사이의 50대 50 분할과 일치하기 때문일 수 있습니다(보른의 옵션 2). 이러한 사항은 아래에서 자세히 설명합니다.
입자의 붕괴를 spin-1 로 고려하면, 양전자와 전자와 같은 두 입자의 스핀이 반대 방향으로 정렬되지 않고 정렬되어야 한다는 점에서 대답은 약간 달라집니다. 하나를 축을 따라 측정한 경우 축을 따라 다른 입자를 측정하면 도 산출되어야 합니다. 이전과 마찬가지로 두 가지 옵션 모두에서 발생할 수 있습니다.
이 강의의 나머지 부분은 아인슈타인과 보른의 옵션을 구별할 수 있는 실험에 관한 것이므로 여기서는 자세히 설명하지 않겠습니다. 그러나 트릭의 일부는 서로 다른 방향( 및 , 또는 전통적인 데카르트 축 사이의 일부 방향)을 따라 두 입자를 측정하는 것입니다. 나머지는 숨겨진 변수에서처럼 양자역학의 예측과 고전적 정보의 예측을 고려할 때 서로 다른 결과를 얻을 수 있는 정확한 확률을 신중하게 고려하는 데서 비롯됩니다.
어느 옵션에서든 두 관찰자, 즉 루카스와 리한나가 같은 축을 따라 측정하면 어떤 옵션이 참인지에 관계없이 반일치 스핀을 얻을 것으로 예상할 수 있습니다. 그 이유를 알아보려면 아래 다이어그램을 참조하세요.
위 그림은 아인슈타인의 옵션을 보여줍니다. 스핀의 방향은 반대 방향으로 결정됩니다. 축을 따라 측정하면 하나는 을 따라, 하나는 을 따라 측정됩니다. 양전자는 을 따라, 전자는 을 따라 있을 것이라고 가정할 이유가 없으며, 이미지는 단지 스핀이 서로 반대 방향으로 측정된다는 것을 보여줄 뿐입니다. 실제로 아인슈타인의 옵션의 경우, 주어진 스핀이 실제로 최종적으로 측정된 방향을 따라 스핀의 성분을 가질 필요는 없습니다. 아인슈타인의 옵션에 대한 가장 약한 설명은 어떤 축을 따라 측정할 때 어떤 측정 결과가 나올지 결정하는 스핀에 저장된 일련의 지침이 있다는 것입니다. 이러한 지침이 단순한 벡터의 형태라고 생각하실 필요는 없습니다(아래 다이어그램 참조). 이에 대해서는 나중에 다시 설명하겠습니다.
아래 그림은 양전자와 전자 스핀의 방향이 확률 분포로 번져나가며 명확한 방향이 없는 Born의 옵션을 보여줍니다. 분포의 형태에 너무 많은 의미를 부여하지 마세요. 각 스핀은 실제로 서로 반대편에 있는 한 어떤 방향을 가리킬 확률이 0이 아닐 수 있지만, 논의를 위해 시각적으로 구분할 수 있도록 원의 일부분으로 그렸을 뿐입니다. 본의 옵션의 경우 각 운동량을 보존해야 하는 것은 여전히 사실입니다. 따라서 한 확률의 파동이 "붕괴"되어 스핀이 을 가리키면 다른 파동은 을 가리키고 반대 방향으로 편향됩니다. 옵션은 동일하게 표시됩니다.
그러나 그림 4 및 5와 같이 관찰자 L과 R이 각 쌍이 120도씩 떨어져 있는 세 축 중 하나를 따라 측정할 수 있으면 어떻게 될까요? 각 관찰자는 스핀을 측정할 축(a, b 또는 c)을 임의로 결정할 수 있습니다. 두 축은 같은 축을 따라 측정할 필요가 없습니다. 각 관찰자가 측정할 때 자신이 선택한 축에서 양수 투영을 발견하거나 음수 투영을 발견할 수 있습니다. 예를 들어, 루카스와 리한나는 +a와 -b 또는 +b와 +c를 측정할 수 있습니다. 같은 축을 따라 측정하기로 선택한 경우 투영에서 반드시 반대 부호를 얻어야 한다는 점에 유의하세요: 예를 들어 +a와 -a, +b와 -b, 또는 +c와 -c; 둘 다 +a를 찾을 수 없습니다. 다음 섹션에서는 루카스와 리한나가 측정된 축에 같은 부호(++ 또는 --)와 반대 부호(+- 또는 (-+))를 가질 확률을 계산하는 방법을 살펴봅니다.
위의 두 그림은 이 새로운 3축 측정 시나리오에서 가능한 숨겨진 변수 해석을 보여줍니다. 즉, 스핀이 벡터로서 이미 결정되어 있거나, 측정 전에 실험자가 알 수 없더라도 가능한 모든 측정의 결과가 미리 결정되도록 일련의 물리적 지침이 시스템에 내장되어 있는 경우입니다. 대안은 아래에 설명되어 있습니다. 결과에 대한 확률 분포가 존재하며 이 분포는 다양한 측정 결과의 가능성에 대해 몇 가지를 알려줄 수 있지만, 결과는 측정하기 전에 본질적으로 결정되지 않습니다.
"두 선수가 얼마나 자주 같은 스핀의 투영 신호를 찾아야 할까?"라고 자문해 볼 수 있습니다 즉, 어떤 축을 따라 측정했는지 기록하는 것이 아니라 단순히 같은 부호를 찾았는지 다른 부호를 찾았는지 기록하는 것입니다. 이 더 복잡한 측정 방식에서 아인슈타인과 보른의 옵션이 동일한 결과를 얻을 수 있을지는 분명하지 않습니다. 하지만 그림 4와 5를 보면 차이가 있다는 것을 알 수 있습니다( ). 아인슈타인의 옵션에 표시된 경우, 축 에 대한 스핀의 투영을 측정하면 이 확실히 나오고, 축 에 대한 스핀의 투영은 (간신히)가 나옵니다. 하지만 Born의 옵션에서는 가능성이 활짝 열려 있습니다. 각도 모멘텀이 여전히 보존되는 것은 사실입니다. 하지만 두 자기장의 방향이 같은 축을 따라 향하지 않기 때문에 파티클이 (자기장과의 상호작용을 통해) 다른 축으로 붕괴해야 하는 상황에 처하게 됩니다. 다음 섹션에서는 양자역학을 사용하여 본의 선택이 주어졌을 때 루카스와 리한나가 측정된 축에서 같은 부호(++ 또는 --)를 얻을 확률과 반대 부호(+- 또는 -+)를 얻을 확률을 계산해 보겠습니다.
예측
아인슈타인의 선택(숨겨진 변수)은 무엇을 예측하는가?
아인슈타인의 옵션이 참이면 주어진 및 쌍은 스핀에 벡터 성분 집합을 갖게 됩니다. 예를 들어 전자는 성분 을 가질 수 있으며, 이 경우 양전자는 성분 을 가져야 합니다. 여기서는 크기가 아닌 각 축의 투영 부호만 지정합니다. 이러한 붕괴가 매우 많이( ) 발생하도록 허용하고 아래 표를 채우기 위해 측정값을 수집한다고 가정해 보겠습니다.
채우기 | 파티클 1 | 파티클 2 |
|---|---|---|
위 표의 각 경우에 대해 루카스와 리한나의 축에는 9개의 가능한 선택지가 있습니다: , , , , , , , , 입니다. 이 표에서 두 관찰자가 행 1과 8에 대해 같은 부호를 측정할 확률은 0입니다. 2~7행의 경우 동일한 기호를 얻는 방법에는 4가지가 있으며, 여기서는 2행에 대해서만 표시합니다:
같은 표지판: , , , 반대 표지판: , , , ,
따라서 아인슈타인의 선택이 양자 상태에 대한 올바른 해석이라면, 루카스와 리한나가 무작위로 선택한 축에서 동일한 스핀 투영 부호를 얻을 확률을 가능한 모든 집단에 걸쳐 합산한 총 확률은 다음과 같을 것입니다: 여기서 평등은 .
이해도 점검
위 차트의 2행에는 루카스와 리한나가 측정값에 대해 동일한 부호를 얻을 수 있는 모든 가능한 방법과 서로 다른 부호를 얻을 수 있는 모든 방법을 나열했습니다. 세 번째 행에 대해 이 과정을 반복합니다.
같은 표지판: , , ,
반대 표지판: , , , ,
위의 표는 '모집단'을 의미하며, 숨겨진 변수 처리가 올바른 경우 자연이 생성하는 각 유형의 지침이 얼마나 많은지 알 수 없다는 것을 의미합니다. 과 의 분포가 무엇이든 측정값에서 동일한 부호를 얻을 확률은 항상 4/9보다 작거나 같다는 것을 보여줍니다.
먼저 총 측정 시도 횟수가 일정하다고 가정하여 이 일정하다고 가정해 보겠습니다. 와 같은 특수한 경우에는 표현식이 다음과 같이 축소됩니다
이제 또는 이라고 가정해 보겠습니다
모든 평가판의 합계( )는 이전과 동일합니다. 하지만 또는 이 0에서 증가했으므로 ~ 의 합계는 이전보다 낮아야 합니다. 특히 와 의 합이 보다 작습니다. 따라서
가능한 모든 경우를 결합하면 이 됩니다.
일반화
위의 처리에서는 특정 축을 따라 측정하는 것을 고려했습니다. 물론 모든 축을 따라 측정할 수 있습니다. 두 입자의 두 스핀 벡터를 와 라고 부르겠습니다. 을 두 입자 시스템의 상태가 잘 정의된 값 에 해당하도록 하는 숨겨진 변수라고 합니다. 을 의 확률 밀도라고 합니다. 마지막으로, 스핀 벡터와 숨겨진 변수가 주어졌을 때 두 입자(A 또는 B)에 대해 수행된 측정의 미리 결정된 결과로 및 기호를 선택합니다. 중요한 것은 은 과 독립적이며 은 과 독립적이라는 점입니다. 이제 A와 B의 측정값 간의 상관 관계와 관련된 질문을 얼마든지 던질 수 있습니다. 특히 다음과 같은 기대값에 대해 문의할 수 있습니다
, , 에 대한 정규화와 같은 값에 대한 몇 가지 표준 가정이 주어지면 두 입자 간의 상관 관계가 다음과 같은 관계를 따른다는 것을 보여줄 수 있습니다
여기서 및 은 시스템의 스핀 상태이고 및 은 참조 스핀 상태(시스템의 다른 가능한 스핀 상태)입니다. 이것은 현재 '벨 불평등'으로 알려진 전체 불평등 유형 중 하나입니다. 여기서는 이 일반적인 양식을 사용하지 않겠습니다. 대신, 하나의 특정 실험 설정에 집중하여 해당 설정을 양자 회로에 매핑할 수 있도록 하겠습니다.
본의 선택(비결정론적 양자역학)은 무엇을 예측하는가?
루카스는 어떤 축을 선택하고 한 입자의 스핀이 양수 또는 음수 방향인지 찾습니다. 그가 무엇을 얻든 축이 그 방향이 되도록 축의 방향을 지정해 봅시다. 그러면 중성자 붕괴 후와 측정 전의 초기 상태를 다음과 같이 쓸 수 있습니다
리한나는 루카스와 비교하여 각도로 다른 방향에서 파티클의 스핀을 측정합니다. 임의의 방향 을 따르는 스핀 연산자는 다음과 같이 주어집니다
이 연산자의 고유 상태는 다음과 같습니다
이해도 점검
이 위의 연산자의 고유 상태인지 확인하고 고유값을 구합니다.
및 을 사용하여
이는 이 고유 상태이고 해당 고유값이 임을 보여줍니다.
루카스가 자신이 선택한 축을 따라 양수 방향으로 스핀을 측정할 확률 리한나도 자신이 선택한 방향을 따라 양수 방향으로 스핀을 측정할 확률 은 다음과 같습니다
이해도 점검
에 대해서도 같은 작업을 수행하십시오. 이 값 역시 와 일치하는지 확인하십시오.
이 결과를 더하면 측정된 두 축의 부호의 확률이 동일하다는 것을 알 수 있습니다 .
이해도 점검
이 결과의 수학을 확인하려면 어떻게 해야 할까요? 명확히 말씀드리자면, 아직 자연과 일치하는지 확인하라는 것이 아니라 모든 계산에 문제가 없는지 확인하기 위한 것입니다.
(1) 에 대해 동일한 계산을 수행하여 확률 보존을 확인합니다.
(2) 알려진 사례를 확인합니다. 을 삽입합니다. 그러면 은 두 관측자가 각각 같은 축을 따라 스핀을 측정하는 것에 해당하며, 이는 각운동량 보존을 위반하게 됩니다. 따라서 이 확률은 0이 될 것으로 예상할 수 있으며 실제로 을 입력하면 이 산출됩니다.
(3) 다른 알려진 사례를 확인합니다. 을 참조하세요. 무엇을 얻어야 하나요? 조심하세요 .
축이 서로를 기준으로 에 있는 경우를 구체적으로 스케치했습니다. 루카스가 어떤 방향( , 또는 )을 얻든 이를 이라고 부릅니다. 그런 다음 리한나는 무작위로 , 또는 중 하나를 선택하여 측정합니다. 그녀의 선택이 루카스의 선택과 같으면(부호까지) 둘 다 을 따라 측정하는 것이고, 리한나도 을 측정할 확률은 0입니다. 리한나의 축 선택은 루카스의 선택과 무관하므로 1/3의 확률로 발생해야 합니다. 다른 선택의 경우, 리한나는 축을 따라 (1/3 시간)의 라디안 또는 (1/3 시간)의 라디안 중 하나를 측정합니다. 물론 이 두 축 중 하나를 따라 스핀이 양수 또는 음수 방향으로 측정될 수 있습니다. 이렇게 하면 루카스와 리한나가 같은 기호를 얻을 확률이 총합으로 계산됩니다:
wow
우리는 방금
한 단계 되돌아가 봅시다.
아인슈타인의 옵션과 본의 옵션은 측정 전에 일어나는 일에 대한 설명이 다를 뿐이므로 항상 동일한 결과를 얻을 수 있을 것 같았습니다. 하지만 특정 축을 따라 스핀 측정의 부호를 미리 결정한 지침이 있다고 가정하고, 측정이 동일한 부호를 산출할 확률에 대한 제약 조건을 얻었습니다 . 그런 다음 양자역학에서와 같이 확률 분포를 가정했습니다... 에 대해 다른 값을 얻었습니다( ). 양자역학의 예측이 숨겨진 변수 처리에서 허용하는 예측보다 더 높습니다. 따라서 우리는 실제로 실험을 통해 양자 역학적 상태가 측정 전에 자연적으로 결정되는지, 아니면 실제로 가능한 상태의 확률적 중첩에 있는지를 알아낼 수 있습니다.
이 실험은 다양한 물리 시스템, 주로 광자를 사용하여 여러 번 수행되었습니다. 측정의 편향성, 측정의 타이밍(동시성) 등 여러 가지 미묘한 고려 사항이 있습니다. 수십 년 동안 이러한 미묘한 차이에 대한 우려는 꾸준히 약화되었습니다. 현실에 대해 더 많이 알아가면서 아직 테스트가 진행 중이지만, 현재로서는 IBM® 양자 컴퓨터를 사용하여 얻을 수 있는 답이 정답이라는 데 광범위한 동의가 이루어지고 있습니다.
실제 양자 컴퓨터로 테스트하세요!
위의 처리 방식에 따라 루카스의 측정 방향을 로 정의해 보겠습니다. 이는 대수적 접근법에서도 편리하지만, 일반적으로 측정되는 것은 을 따라 큐비트의 투영이기 때문에 양자 계산에 특히 편리합니다. 에 대해 위와 동일한 확률 조건을 제공하는 양자 회로를 만들고자 합니다. 우리는 이 되도록 평면의 방향을 자유롭게 지정할 수 있으며, 다음과 같은 결과를 얻을 수 있습니다
논의를 진행하기 위해 IBM 양자 컴퓨터에 대해 몇 가지 알아야 할 것이 있습니다. 먼저 큐비트는 상태로 초기화됩니다. 앞서 언급했듯이 측정이 이루어지면 축을 따라 측정됩니다. 따라서 목표는 위의 복잡한 식을 얻기 위해 측정 기준 상태( )와 큐비트의 초기 상태( ) 사이에 어떤 연산자를 삽입할 수 있는지 알아내는 것입니다. 이를 위해서는 양자 컴퓨팅의 몇 가지 기본 게이트를 살펴볼 필요가 있습니다.
게이트: NOT 연산에 해당합니다. 단일 큐비트 게이트.
키스킷에서 게이트가 있는 회로를 만드는 것은 다음과 같습니다:
from qiskit import QuantumCircuit
qc = QuantumCircuit(1)
qc.x(0)
qc.draw("mpl")Output:
하다마드 게이트: 중첩 상태를 생성합니다. 단일 큐비트 게이트.
하다마드 게이트가 있는 회로는 다음과 같이 만들어집니다:
qc = QuantumCircuit(1)
qc.h(0)
qc.draw("mpl")Output:
CNOT 제어-NOT 게이트: 이 게이트는 컨트롤과 타겟이라는 두 개의 큐비트를 사용합니다. 변경되지 않은 제어 큐비트의 상태를 확인합니다. 그러나 제어 큐비트의 상태가 인 경우 게이트는 대상 큐비트의 상태를 변경하고, 제어 큐비트의 상태가 인 경우 전혀 변경되지 않습니다. 아래 표기법에서 첫 번째 큐비트는 컨트롤, 두 번째 큐비트는 타겟이라고 가정합니다.
CNOT 게이트는 두 개의 큐비트가 필요하기 때문에 회로에서 약간 다르게 보입니다. 이것이 구현되는 방식입니다:
qc = QuantumCircuit(2)
qc.cx(0, 1)
qc.draw("mpl")Output:
qc.cx(0,1) 에 나열된 첫 번째 큐비트는 컨트롤이고 두 번째 큐비트는 타겟입니다. 도식적으로 대상은 '+' 기호 또는 십자 표시가 있는 대상입니다.
회전 Y 게이트: 상태를 Y축을 중심으로 회전합니다. 이것은 단일 큐비트 게이트입니다.
마지막으로 회전 게이트는 게이트의 유형, 회전량, 게이트가 배치되는 큐비트를 순서대로 지정하여 구현합니다:
import numpy as np
pi = np.pi
qc = QuantumCircuit(2)
qc.ry(pi / 2, 0)
qc.draw("mpl")Output:
게이트의 이름 ry 은 회전이 발생하는 축을 지정합니다. 첫 번째 인자 는 회전량을 나타내고, 두 번째 인자는 게이트가 배치될 큐비트를 지정합니다.
이해도 점검
위에서 소개하거나 새로 고친 구문을 사용하여 네 가지 유형의 양자 게이트가 포함된 양자 회로를 만들어 보세요.
물론 무한히 많은 가능성이 있습니다. 다음이 한 가지 예입니다.
qc=QuantumCircuit(2) qc.ry(pi/2,0) qc.cx(1,0) qc.x(1) qc.h(0) qc.cx(0,1) qc.draw("mpl")
물리적 실험에서 양자 회로로
이러한 게이트의 연산에서 예를 들어 에 대한 표현식의 kets를 볼 수 있습니다:
는 중첩을 얻기 위해 하다마드 게이트와 얽힘을 생성하기 위해 CNOT 게이트를 포함할 가능성이 높습니다.
이제 H, X, CNOT 게이트를 사용하여 를 로 변경합니다:
여기서 는 L을 컨트롤로, R을 타겟으로 사용하는 CNOT 게이트를 의미합니다. 이제 상태의 R 부분을 고려할 수 있습니다:
이제 우리는 큐비트의 기본 시작 상태에서 작동하는 양자 게이트로 케트를 완전히 작성했습니다.
이제 에서 작동하는 을 사용하여 에 대한 표현식에서 브래지어를 가져올 수 있습니다.
이 결과를 결합하면 확률 을 다음과 같이 쓸 수 있습니다
이를 통해 양자 회로를 구성하는 방법에 대한 명시적인 지침을 얻을 수 있습니다. 루카스와 리한나가 측정한 입자의 양자 상태를 나타내는 큐비트에 X, H, CNOT, 게이트를 적용하고 측정하여 확률을 구합니다.
IBM 퀀텀은 키스킷 패턴이라는 프레임워크를 사용하여 양자 컴퓨팅 문제를 해결할 것을 권장합니다. 다음 단계로 구성됩니다.
- 1단계: 문제를 양자 회로에 매핑하기
- 2단계: 실제 양자 하드웨어에서 실행되도록 회로 최적화하기
- 3단계: 런타임 프리미티브를 사용하여 IBM 퀀텀 컴퓨터에서 작업 실행하기
- 4단계: 결과 후처리
기본적으로 위에서 수행한 모든 작업은 1단계였습니다. 키스킷을 사용하여 결과 회로를 만들어 봅시다!
1단계: 결과물을 양자 회로에 매핑하기
# We'll begin by importing qiskit and a visualization module so that we can plot a
# histogram of our results.
from qiskit.visualization import plot_histogram리한나가 선택한 축의 1/3은 루카스의 축에서 라디안, 1/3은 루카스의 축에서 라디안, 1/3은 같은 축을 선택한다는 것을 기억하세요. 따라서 실제로 이 세 가지 경우에 대해 3개의 양자 회로를 만들고 그 결과를 합산해야 합니다. 첫 번째는 자세히 설명해드리고 마지막 두 가지는 간단히 설명하겠습니다.
# We start by declaring our first quantum circuit, and giving it two qubits (the first "2") and two
# classical bits for storing outputs (the second "2")
# Define registers
from qiskit import ClassicalRegister, QuantumRegister
qr = QuantumRegister(2, "q")
cr = ClassicalRegister(2, "c")
qc1 = QuantumCircuit(qr, cr)
# We know from our analysis above that we need an X gate acting on each of the qubits (L and R)
qc1.x([0, 1])
# We need a Hadamard gate acting on Lucas's qubit, which we're calling the 0th qubit.
qc1.h(0)
# The controlled-NOT gate uses the 0th qubit (Lucas's) as the control and the 1st qubit (Rihanna's)
# as the target.
qc1.cx(0, 1)
# The rotation gate acts on the 1st qubit (Rihanna's) and has an argument of -2 pi/3
qc1.ry(-2 * pi / 3, 1)
# Finally, we want to measure all the qubits in the circuit to obtain measurement probabilities, and
# store the results in the classical bits.
qc1.measure([0, 1], [0, 1])
# Now we can draw the first of the three circuits that will check Bell's inequality for us.
qc1.draw(output="mpl")Output:
아래 코드는 보다 간소화된 방식으로 세 가지 회로를 모두 빠르게 구성합니다. 세 회로의 유일한 차이점은 축을 중심으로 두 큐비트를 얼마나 멀리 회전시키는가 하는 점입니다.
qcs = [QuantumCircuit(2, 2), QuantumCircuit(2, 2), QuantumCircuit(2, 2)]
for i in range(0, len(qcs)):
qcs[i].x([0, 1])
qcs[i].h(0)
qcs[i].cx(0, 1)
qcs[0].ry(-2 * pi / 3, 1)
qcs[1].ry(-4 * pi / 3, 1)
qcs[2].ry(-2 * pi / 3, 1)
qcs[2].ry(-4 * pi / 3, 1)
for i in range(0, len(qcs)):
qcs[i].barrier()
qcs[i].measure([0, 1], [0, 1])
counts_list = [None] * len(qcs)qcs[0].draw(output="mpl")Output:
이제 ‘ StatevectorSampler ’라고 하는 Qiskit 참조 프리미티브를 사용해 보겠습니다. 샘플러는 시스템의 모든 가능한 상태를 표본 추출하고, 각 상태가 나타날 확률(또는 경우에 따라 준확률)을 반환하도록 설계된 기본 요소입니다. “샷”의 횟수를 지정하고, 각 상태에 대한 “카운트”를 살펴볼 수 있습니다.
from qiskit.primitives import StatevectorSampler
sampler = StatevectorSampler()
# Start a job that will return shots for all 100 parameter value sets.
for i in range(0, len(qcs)):
pub = qcs[i]
job = sampler.run([pub], shots=10000)
# Extract the result for the 0th pub (this example only has one pub).
result = job.result()
data_pub = result[0].data
counts = data_pub.c.get_counts()
counts_list[i] = counts
# plot_histogram(counts)각 회로의 개수를 살펴보면 두 개는 기본적으로 동일하고 세 번째는 상당히 다른 것을 알 수 있습니다.
plot_histogram(counts_list)Output:
가능한 결과의 목록을 만들고 세 회로 각각에서 각 상태의 수를 모두 합산하여 전체 확률을 구해 보겠습니다.
outcomes = ("00", "01", "10", "11")
# Here we convert "None"s into 0's so that we can sum.
for i in range(0, len(qcs)):
for j in range(0, len(outcomes)):
if counts_list[i].get(outcomes[j]) is None:
counts_list[i].update({outcomes[j]: 0})
# Here we create a dictionary that holds all the outcomes and sums over their appearances
# in each of the circuits.
total_counts = {}
for i in range(0, len(outcomes)):
total_counts[outcomes[i]] = sum(
counts_list[j].get(outcomes[i]) for j in range(0, len(qcs))
)이제 각 결과에 대한 총 개수를 인쇄하고 히스토그램을 그릴 수 있습니다.
print(total_counts)
plot_histogram(total_counts)Output:
{'00': 7493, '01': 7432, '10': 7605, '11': 7470}
이해도 점검
위의 그림이 숨겨진 변수와 결정론이 예측한 결과와 일치합니까? 아니면 확률론적(그리고 비국소적) 양자역학에 부합할까요?
이는 확률론적 양자역학 및 비국소적 양자역학과 일치합니다. 숨겨진 변수 처리를 통해 동일한 부호를 얻을 확률은 4/9 이하로 예측되었습니다. 양자역학에서는 50%의 확률을 예측했습니다. 위의 히스토그램은 00 또는 11의 확률( 49.97 %)을 나타냅니다. 이는 확률론적 양자역학의 예측에 매우 근접하지만, 가장 중요한 것은 숨겨진 변수 처리에서 허용되는 범위보다 크다는 점입니다.
이것이 자연에 대한 어떤 것을 증명하나요?
아니오! 저희는 시뮬레이터를 사용하고 있었습니다! 이는 확률론적 양자역학의 법칙에 따라 작동하도록 프로그래밍된 컴퓨터입니다. 우리가 규칙을 제안한 다음 컴퓨터가 그 규칙을 따르도록 프로그래밍한다면, 컴퓨터가 규칙을 따르는 능력이 그 규칙이 옳다는 증거가 될 수 없습니다! 이를 증명할 수 있는 유일한 방법은 실제 양자 컴퓨터를 사용하는 것입니다!
2단계: 실제 하드웨어에서 실행하기 위해 양자 회로를 최적화하세요
처음에는 시뮬레이터를 사용하여 코드를 디버깅했지만, 실제 하드웨어에서 실행하고 싶었습니다. 결국 시뮬레이터는 위의 방정식에 따라 양자역학적인 척하는 것일 뿐입니다. 시뮬레이터가 그 방정식이 맞다고 말해도 우리를 설득하는 데 큰 도움이 되지 않습니다. 우리는 실제 양자 컴퓨터가 무슨 일이 일어나고 있는지 알려주기를 원합니다! 이제 사용하고자 하는 양자 컴퓨터를 선택하겠습니다. 원하는 속성을 가진 특정 디바이스를 선택하는 것이 중요할 때도 있지만, 가장 사용량이 적은 디바이스를 사용하고 싶을 때도 많습니다.
처음 사용할 때 자격 증명을 저장하는 코드는 아래에 있습니다. 노트북을 공유할 때 실수로 자격 증명이 공유되지 않도록 노트북을 환경에 저장한 후 이 정보를 노트북에서 삭제해야 합니다. 자세한 안내는 IBM Cloud 계정 설정하기 및 신뢰할 수 없는 환경에서 서비스 초기화를 참조하세요.
from qiskit_ibm_runtime import QiskitRuntimeService
# Syntax for first saving your token. Delete these lines after saving your credentials.
# QiskitRuntimeService.save_account(channel='ibm_quantum_platform',
# instance = '<YOUR_IBM_INSTANCE_CRN>', token='<YOUR-API_KEY>', overwrite=True, set_as_default=True)
# service = QiskitRuntimeService(channel='ibm_quantum_platform')
# Load saved credentials
service = QiskitRuntimeService()
backend = service.least_busy(
operational=True, min_num_qubits=qcs[0].num_qubits, simulator=False
)from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
target = backend.target
pm = generate_preset_pass_manager(target=target, optimization_level=3)
qcs_isa = qcs
for i in range(0, len(qcs)):
qcs_isa[i] = pm.run(qcs[i])
qcs_isa[i].draw(output="mpl", idle_wires=False, style="iqp")qcs_isa[2].draw(output="mpl", idle_wires=False, style="iqp")Output:
3단계: 런타임 프리미티브를 사용하여 IBM 양자 컴퓨터에서 작업을 실행합니다
이제 실제 양자 하드웨어에서 실행되도록 회로를 최적화하고 시뮬레이터를 사용하여 코드를 디버깅했으므로, 실제 양자 컴퓨터에서 통계를 수집하고 아인슈타인과 보른의 의견 차이를 해결할 준비가 되었습니다.
from qiskit_ibm_runtime import SamplerV2 as Sampler
# from qiskit_ibm_runtime import Session
# sampler.options.default_shots = 1000
# Start a job that will return shots for all 100 parameter value sets.
# The best practice is to use a session as shown below. This is available to Premium Plan, Flex
# Plan, and On-Prem (IBM Quantum Platform API) Plan users.
# result_list = [None] * len(qcs)
# real_counts_list = [None] * len(qcs)
# with Session(backend=backend) as session:
# sampler = Sampler(mode=session)
# for i in range(0, len(qcs)):
# # Define the primitive unified bloc (pub)
# pub = qcs[i]
# job = sampler.run([pub], shots=10000)
# # Extract the result for the 0th pub (this example only has one pub).
# result_list[i] = job.result()
# data_pub = result_list[i][0].data
# counts = data_pub.c.get_counts()
# real_counts_list[i] = counts
# # plot_histogram(counts)
# Open users can still carry out this experiment, but without reserving a session of use, meaning
# repeated queuing is possible.
from qiskit_ibm_runtime import Batch
batch = Batch(backend=backend)
sampler = Sampler(mode=batch)
result_list = [None] * len(qcs)
real_counts_list = [None] * len(qcs)
for i in range(0, len(qcs)):
# Define the primitive unified bloc (pub)
pub = qcs[i]
job = sampler.run([pub], shots=10000)
# Extract the result for the 0th pub (this example only has one pub).
result_list[i] = job.result()
data_pub = result_list[i][0].data
counts = data_pub.c.get_counts()
real_counts_list[i] = counts
# Close the batch because no context manager was used.
batch.close()outcomes = ("00", "01", "10", "11")
# Here we convert "None"s into 0's so that we can sum.
for i in range(0, len(qcs)):
for j in range(0, len(outcomes)):
if real_counts_list[i].get(outcomes[j]) is None:
real_counts_list[i].update({outcomes[j]: 0})
# Here we create a dictionary that holds all the outcomes and sums over their appearances
# in each of the circuits.
real_total_counts = {}
for i in range(0, len(outcomes)):
real_total_counts[outcomes[i]] = sum(
real_counts_list[j].get(outcomes[i]) for j in range(0, len(qcs))
)
print(real_total_counts)
plot_histogram(real_total_counts)Output:
{'00': 7542, '01': 7503, '10': 7304, '11': 7651}
# This syntax allows you to run the job on a simulator, in case you have exhausted your allotted
# time on real IBM quantum computers.
# But we strongly advise running this on real quantum computers, since this is meant to be a check
# of the behavior of real quantum systems.
# This uses a local simulator
# from qiskit_aer import AerSimulator
# This generates a simulator that mimics the real quantum system
# backend_sim = AerSimulator.from_backend(backend)
# Import an estimator, this time from qiskit (we import from Runtime for real hardware)
# from qiskit.primitives import BackendSamplerV2
# sampler = BackendSamplerV2(backend = backend_sim)
# result_list = [None] * len(qcs)
# counts_list = [None] * len(qcs)
# for i in range(0, len(qcs)):
# Define the primitive unified bloc (pub)
# pub = qcs[i]
# job = sampler.run([pub], shots=10000)
# Extract the result for the 0th pub (this example only has one pub).
# result_list[i] = job.result()
# data_pub = result_list[i][0].data
# counts = data_pub.c.get_counts()
# counts_list[i] = counts
# data_pubs = (result_list[0][0].data,result_list[1][0].data,result_list[2][0].data)
# outcomes = ("00", "01", "10", "11")
# Here we convert "None"s into 0's so that we can sum.
# for i in range(0, len(qcs)):
# for j in range(0, len(outcomes)):
# if counts_list[i].get(outcomes[j]) is None:
# counts_list[i].update({outcomes[j]: 0})
# Here we create a dictionary that holds all the outcomes and sums over their appearances
# in each of the circuits.
# total_counts = {}
# for i in range(0, len(outcomes)):
# total_counts[outcomes[i]] = sum(
# counts_list[j].get(outcomes[i]) for j in range(0, len(qcs))
# )
# print(total_counts)
# plot_histogram(total_counts)counts_listOutput:
[None, None, None]
4단계: 후처리 및 분석
한 걸음 물러나서 다시 정리해 보겠습니다: 은닉 변수 처리와 3개의 오프셋 축을 사용하여 측정값이 동일한 부호를 산출할 확률에 대한 제약 조건을 얻었습니다 . 그런 다음 양자역학에서와 같이 확률 분포를 가정하고 해당 확률에 대해 다른 값을 얻었습니다: . 양자역학의 예측은 숨겨진 변수 처리에서 허용되는 예측보다 더 높습니다. 따라서 양자 역학적 상태가 측정 전에 본질적으로 결정되는지, 아니면 실제로 가능한 상태의 확률적 중첩 상태인지 실험적으로 알 수 있습니다.
우리는 루카스와 리한나가 스핀 투영의 한 부호 또는 다른 부호를 측정할 때 네 가지 결과가 나올 수 있도록 양자 회로를 설계했습니다: 00, 01, 10, 11. 00과 11의 경우 루카스와 리한나는 같은 부호를 측정하고 01과 10의 경우 서로 반대되는 부호를 측정합니다. 아주 근사적으로 루카스와 리한나가 같은 부호를 얻을 확률은 약 50%로 보다 확실히 높다는 것을 알 수 있습니다. 이는 이러한 확률 분포를 설명할 수 있는 숨겨진 변수 집합이 없으며 숨겨진 변수 처리는 실험과 호환되지 않는다는 것을 의미합니다.
양자역학적 실험 결과에 대한 해석은 다양하며, 실험 설정에는 미묘한 차이가 많기 때문에 자주 재검토해야 합니다. 그러나 지금까지 양자 역학의 원리와 양자 상태에 대한 확률론적 해석은 결과를 정확하게 설명했습니다. 맥스 본의 말이 맞았던 것 같습니다.
잠시 시간을 내어 그 의미를 다시 한 번 생각해 보겠습니다. 붕괴 이벤트에서 두 개의 입자가 발생하고, 두 입자는 서로 다른 방향으로, 아마도 오랫동안 이동합니다. 스핀은 잘 정의된 상태가 아니며, 향후 측정 결과를 결정하기 위한 숨겨진 변수 지침을 가지고 있지 않습니다. 그러나 한 입자(예: )에 대한 측정은 반드시 다른 입자의 스핀에 대한 실험 결과를 방향으로 결정합니다( 여야 함). 즉, 한 입자의 물리학에 대한 무언가가 다른 입자에 대해 수행된 작업에 의해 결정된다는 것을 의미합니다. 이러한 상황 때문에 사람들은 현실을 '비로컬'이라고 표현하기도 합니다.
앞서 설명한 것과 같은 두 입자는 한쪽의 측정값이 다른 쪽에 영향을 미칠 수 있다는 점에서 어떻게든 '연결'되어 있습니다. 이러한 입자를 "얽힘"이라고 합니다. 얽힘은 단순한 상관관계 그 이상입니다. 예를 들어, 북쪽 끝이 위로 향하는 한쪽에는 자석을, 북쪽 끝이 아래로 향하는 반대쪽에는 자석을 뱉어내는 고전적인 기계를 만들 수 있습니다. 이러한 자석은 완벽한 반상관성을 가질 수 있습니다. 하지만 한 쪽의 측정값은 다른 쪽에 아무런 영향을 미치지 않습니다. 양자 역학적 얽힘에서 입자 A는 정의되지 않은 상태(또는 여러 상태가 혼합된 상태)일 수 있으며, 완전히 다른 입자(예: B)에 대한 측정을 통해 이를 정의된 상태로 고정할 수 있습니다. 클래식 세계에는 이와 같은 것이 존재하지 않습니다.
이는 종종 완전히 새로운 질문과 가능성을 불러일으킵니다. 양자 컴퓨터에서처럼 얽힘을 사용하여 계산하는 것과 같은 일부 아이디어는 실제로 존재합니다! 빛보다 빠르게 정보를 전송하기 위해 얽힘을 이용하려는 시도와 같이 매력적으로 보이지만 실패로 판명된 것들도 있습니다. 궁금한 점이 생기면 무엇이든 물어보고 다른 사람들이 이러한 현상을 어떻게 조사했는지 읽어보시기 바랍니다. 양자역학의 세계는 무궁무진하지만, 여기서는 몇 가지 리소스만 소개합니다:
IBM 퀀텀 코스:
흥미로운 양자역학 논문:
일부 양자역학 교육 리소스입니다:
- 콜로라도 대학교의 퀀텀 I 강의 자료.
일부 양자역학 교육 연구:
- C.가 고차원 양자역학에서 학생들이 겪는 어려움에 대한 리뷰. Singh과 E. Marshman
질문
교수자는 노트북이 어떻게 사용되고 있는지에 대한 이 간단한 설문조사를 작성하여 공통 커리큘럼에 배치하는 방법에 대한 안내와 답안지가 포함된 노트북 버전을 요청할 수 있습니다.
핵심 개념:
- 양자역학이 결정론적인지 확률론적인지, 양자 상태가 단순히 미지의 상태인지 아니면 측정 이전에 자연에 의해 결정되지 않은 상태인지에 대해서는 역사적으로 의견이 분분했습니다.
- 숨겨진 변수와 따라서 국소적 사실주의는 양자역학의 관측과 일치하지 않습니다. 즉, 양자역학에서 관찰되는 상관관계는 우리가 단순히 알 수 없는 잘 정의된 변수로는 설명할 수 없습니다.
- 양자역학은 확률론입니다.
- 얽힘은 실제 존재하며 관찰할 수 있습니다.
- 얽힘은 단순한 상관관계가 아닙니다.
- 현실 세계의 시나리오를 양자 컴퓨터에 매핑할 수 있습니다.
- 숨겨진 변수는 자연에 의해 지정되었지만 인간에게는 알려지지 않은 수량을 의미합니다.
T/F 문제:
- 알버트 아인슈타인은 양자역학이 결과의 확률만 설명하고 결과를 결정하는 근본적인 메커니즘을 설명하지 못하기 때문에 이론으로서 불완전하다고 주장했습니다.
- T/F '숨겨진 변수'는 두 개의 양자역학적 입자가 서로 얽힐 수 있다는 아이디어를 말합니다.
- T/F 서로 연관된 두 시스템은 양자역학적으로 얽혀 있습니다.
- T/F 양자 역학적 얽힘은 수학을 올바르게 이해하는 데 중요하지만 실험에서는 볼 수 없습니다.
- T/F 대부분의 경우 양자역학은 실험의 정확한 결과를 알려줄 수 없으며, 특정 결과가 측정될 확률만 알려줄 수 있습니다.
- T/F 양자역학에서는 입자 A와 입자 B가 접촉하지 않고 입자를 주고받지 않더라도 특정 조건에서는 입자 A의 상태가 입자 B의 상태에 영향을 받을 수 있습니다.
- T/F 실제 실험을 양자 회로에 매핑할 수 있습니다.
MC 질문:
-
spin-0 입자가 두 개의 spin-1/2 입자 A와 B로 분해된다고 가정합니다. 입자 A를 측정하면 스핀이 을 따라 투영되어 있음을 알 수 있습니다. 이제 파티클 B
- a. 확실히 스핀 투영이 있습니다
- b. 확실히 스핀 투영이 있습니다
- c. 확실히 스핀 투영이 있습니다
- d. 는 측정된 모든 축을 따라 음의 스핀 투영을 확실히 가집니다.
-
spin-0 입자는 두 개의 spin-1/2 입자 A와 B로 분해됩니다. 입자 A가 을 따라 투영된 것으로 측정된 경우, 다음 중 입자 B의 측정에 대해 가능한 투영은 무엇입니까? 적용되는 모든 열을 동그라미 표시하십시오.
- a.
- b.
- c.
- d.
- e.
- f.
-
spin-0 입자가 두 개의 spin-1/2 입자 A와 B로 분해된다고 가정합니다. 측정 전 입자 A의 상태를 가장 잘 설명하는 항목입니다.
- a. 입자 A의 스핀은 을 따릅니다.
- b. 입자 A의 스핀은 을 따릅니다.
- c. 입자 A의 스핀은 을 따릅니다.
- d. 입자 A의 스핀은 일부 방향을 따라 정의되지만 다른 방향은 정의되지 않습니다.
- e. 입자 A의 스핀 방향은 측정하기 전에 본질적으로 결정되지 않습니다.
-
다음 중 하다마드 게이트에 해당하는 것은 무엇인가요? 해당되는 항목을 모두 선택하십시오.
- a.
- b.
- c.
- d.
-
다음 중 X 게이트에 해당하는 것은 무엇인가요? 해당되는 항목을 모두 선택하십시오.
- a.
- b.
- c.
- d.
- e.
-
다음 중 2쿼비트 게이트는 무엇인가요?
- a. X
- b.
- c. H
- d. CNOT
-
큐비트가 상태라고 가정해 보겠습니다. 상태로 측정될 확률은 얼마나 되나요?
- a. 노이즈 없는 시뮬레이터에서는 정확히 100%, 실제 양자 컴퓨터에서는 100%에 가까운 정확도를 제공합니다
- b. 노이즈 없는 시뮬레이터에서는 거의 100%, 실제 양자 컴퓨터에서는 정확히 100%에 가깝습니다
- c. 노이즈 없는 시뮬레이터에서는 정확히 0%, 실제 양자 컴퓨터에서는 거의 0%에 가깝습니다
- d. 노이즈 없는 시뮬레이터에서는 0%에 가깝고, 실제 양자 컴퓨터에서는 정확히 0%입니다
토론 질문:
-
친구 A, B, C가 벨의 부등식과 관련된 실험 결과에 대해 토론하고 있습니다. 구체적으로, 그들은 축을 따라 동일한 부호를 측정할 수 있는 양자 역학적 확률이 숨겨진 변수 처리에서 허용되는 확률보다 더 크다는 것을 보여주는 이미지를 보고 있습니다: . 친구 A는 "이것은 우리가 측정 전에 스핀 상태를 알지 못했다는 것을 의미합니다."라고 말합니다 친구 B는 "아니, 그 이상입니다. 이는 측정 전에 스핀이 이미 특정 방향을 가리키고 있지 않다는 것을 의미합니다. 하지만 스핀 상태는 어떻게든 결정되거나 저장될 수 있습니다." 친구 C는 "아니, 그 이상입니다. 이는 측정하기 전에 미래의 스핀 상태가 본질적으로 결정되지 않았다는 것을 의미합니다." 누구의 의견에 동의하며 그 이유는 무엇인가요?
-
얽힘과 같은 양자역학적 현상이 어떻게 현실이 비국소적임을 나타내는지 설명하세요.
-
여기서 얻은 결과를 확신하기 위해 어떤 추가 실험을 하고 싶으신가요?
-
벨의 부등식은 같은 간격의 세 축 , , 으로만 탐색할 수 있을까요? 다른 수의 축을 사용해도 가능할까요? 어떤 모습일까요? 숨겨진 변수로 예측한 확률과 확률론적 양자역학으로 예측한 확률의 차이가 여전히 존재할까요?