ข้ามไปยังเนื้อหาหลัก

ธรรมชาติของสถานะควอนตัม: ตัวแปรซ่อนเร้นกับอสมการของเบลล์

สำหรับโมดูล Qiskit in Classrooms นี้ นักเรียนต้องมีสภาพแวดล้อม Python ที่ใช้งานได้พร้อมแพ็กเกจต่อไปนี้:

  • qiskit v2.1.0 หรือใหม่กว่า
  • qiskit-ibm-runtime v0.40.1 หรือใหม่กว่า
  • qiskit-aer v0.17.0 หรือใหม่กว่า
  • qiskit.visualization
  • numpy
  • pylatexenc

สำหรับการตั้งค่าและติดตั้งแพ็กเกจข้างต้น ดูคู่มือ ติดตั้ง Qiskit เพื่อรันงานบนคอมพิวเตอร์ควอนตัมจริง นักเรียนจะต้องสร้างบัญชีกับ IBM Quantum® โดยทำตามขั้นตอนในคู่มือ ตั้งค่าบัญชี IBM Cloud ของคุณ

โมดูลนี้ผ่านการทดสอบและใช้เวลา QPU 12 วินาที ตัวเลขนี้เป็นการประมาณเท่านั้น การใช้งานจริงของคุณอาจแตกต่างออกไป

# Added by doQumentation — required packages for this notebook
!pip install -q numpy qiskit qiskit-ibm-runtime
# 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'

ดูวิดีโอแนะนำโมดูลโดย Dr. Katie McCormick ด้านล่าง หรือคลิก ที่นี่ เพื่อดูบน YouTube


พื้นฐาน

ในการคำนวณหลาย ๆ อย่างในกลศาสตร์ควอนตัม เราเริ่มต้นด้วยสถานะที่ทราบของระบบ ซึ่งโดยทั่วไปจะทราบได้จากการวัด วันนี้เราต้องการตอบคำถามว่า "สามารถพูดอะไรได้บ้างเกี่ยวกับสถานะของอนุภาคก่อนที่จะมีการวัดใด ๆ?" คำถามเสริมที่ชัดเจนคือ "เราจะรู้ได้อย่างไร ถ้าเราไม่อนุญาตให้วัด?"

คำถามนี้ย้อนกลับไปถึงยุคแรกเริ่มของกลศาสตร์ควอนตัม บรรดาผู้บุกเบิกในสาขาวิชาแบ่งเป็นกลุ่ม โดยไอน์สไตน์และคนอื่น ๆ อีกมากบอกว่าอนุภาคอยู่ในสถานะที่ไม่ทราบก่อนการวัด ส่วนคนอื่น ๆ โดยเฉพาะ Max Born และต่อมา Niels Bohr ยืนยันอย่างสุดโต่งยิ่งกว่า โดยบอกว่าสถานะของอนุภาคนั้นธรรมชาติยังไม่กำหนดไว้จริง ๆ ก่อนการวัด ไม่ใช่แค่ไม่รู้ แต่ไม่ได้ถูกนิยามทางกายภาพ จากนั้นการวัดจะยุบอนุภาคแบบความน่าจะเป็นไปสู่สถานะที่แน่นอน ไอน์สไตน์ไม่พอใจกับคำอธิบายนี้ จึงแสดงความเห็นอย่างโด่งดังว่า "Gott würfelt nicht" ซึ่งแปลโดยประมาณว่า "พระเจ้าไม่เล่นลูกเต๋า"

หลายทศวรรษหลังจากที่ความขัดแย้งนี้เกิดขึ้น หลายคนคิดว่าอาจไม่มีคำตอบ หรืออาจเป็นเรื่องของมุมมอง แต่แล้วในปี 1964 John Bell นักฟิสิกส์จากไอร์แลนด์เหนือ เขียนเอกสารที่สำรวจสถิติของการทดลองบางอย่างที่สามารถตอบคำถามนี้ได้อย่างแน่ชัด เขาแสดงให้เห็นว่าในการทดสอบเฉพาะอย่างหนึ่ง จะได้ชุดสถิติหนึ่งจากสถานะควอนตัมที่กำหนด (แต่ไม่ทราบ) และชุดสถิติต่างออกไปจากสถานะควอนตัมที่ธรรมชาติยังไม่กำหนด

ในช่วงเวลาที่เขียนเอกสารของเบลล์ การทดสอบเชิงทดลองที่เกี่ยวข้องกับสถิติดังกล่าวเข้าไม่ถึงสำหรับทุกคนยกเว้นนักวิจัยแถวหน้าสุดของฟิสิกส์ แต่ปัจจุบัน IBM Quantum ทำให้นักเรียนทั่วโลกสามารถใช้อุปกรณ์ควอนตัมจริงจากระยะไกลผ่านคลาวด์ได้ฟรี เพื่อสำรวจธรรมชาติของสถานะควอนตัม นั่นคือสิ่งที่คุณจะทำในวันนี้

การตั้งค่าของการทดลองทางความคิด: การพัวพันของสปิน

มีกระบวนการที่อนุภาคไม่มีสปินสลายตัวเป็นสองอนุภาคที่แต่ละอนุภาคมีสปิน เนื่องจากสปินเป็นชนิดหนึ่งของโมเมนตัมเชิงมุม กฎการอนุรักษ์โมเมนตัมเชิงมุมจะชี้ว่าอนุภาคสองตัวที่ออกมาต้องมีสปินที่ต่อต้านกันพอดี ซึ่งสังเกตได้จากการทดลองจริง

ตัวอย่าง: pi meson ที่เป็นกลางบางครั้งสลายตัวเป็นโพซิตรอนและอิเล็กตรอน: π0e++e\pi^0\rightarrow e^+ + e^- ไม่ต้องกังวลถ้าไม่รู้ว่าอนุภาคเหล่านั้นคืออะไร และไม่ต้องกังวลถ้ารู้ดีจนทราบว่าการสลายตัวประเภทนี้ค่อนข้างไม่น่าจะเกิด แค่รู้ว่าถ้าอนุภาคตัวหนึ่งที่ออกมามีสปินขึ้น อีกตัวต้องมีสปินลง และกลับกัน แน่นอนว่าไม่มีอะไรพิเศษเกี่ยวกับ "ขึ้น" และ "ลง" การต่อต้านแบบเดียวกันนี้สังเกตได้ถ้าวัดตามที่เรามักเรียกว่า xx หรือ yy การสลายตัวนี้เป็นบริบทที่น่าสนใจสำหรับเรา เพราะเราสามารถข้ามคำถามเกี่ยวกับการวัดที่เกิดขึ้นในอดีต โพซิตรอนและอิเล็กตรอนไม่ได้มีอยู่เลยจนกระทั่งถึงช่วงเวลาของการสลายตัว

เราสามารถให้ π0\pi^0 mesons สลายตัวและสังเกตการเบี่ยงเบนของอนุภาคที่ออกมาภายใต้อิทธิพลของสนามแม่เหล็กที่ไม่สม่ำเสมอ สนามที่ไม่สม่ำเสมอที่ใช้เบี่ยงเบนสปินมักเรียกว่าอุปกรณ์ Stern-Gerlach ตามชื่อนักวิจัยที่ใช้มันเป็นคนแรกเพื่อ (โดยบังเอิญ) รวบรวมหลักฐานการมีอยู่ของสปินเชิงกลศาสตร์ควอนตัม โปรดทราบว่าเรื่องราวที่นี่ซับซ้อนกว่าการทดลองดั้งเดิม เนื่องจากอิเล็กตรอนและโพซิตรอนมีประจุด้วย (ต่างจากอะตอมเงินในการทดลอง Stern Gerlach) แต่เราทราบว่าอนุภาคที่มีประจุเคลื่อนที่อย่างไรในสนามแม่เหล็ก และเราสามารถหักออกจากเอฟเฟกต์นั้นได้ ในสิ่งที่ตามมา เราจะสมมติว่าการเบี่ยงเบนที่ใช้ในการคำนวณของเรามาจากสปินของอนุภาค ไม่ใช่ประจุ ดังนั้นสำหรับจุดประสงค์ของเรา ไม่สำคัญว่าผู้สังเกตคนไหนได้โพซิตรอนและคนไหนได้อิเล็กตรอน การตั้งค่าการทดลองมีลักษณะดังนี้:

แผนภาพของการตั้งค่าการทดลอง EPR แหล่งกำเนิดส่งอนุภาคหนึ่งไปทางซ้ายและหนึ่งไปทางขวา แต่ละตัวผ่านอุปกรณ์ Stern-Gerlach สนามแม่เหล็กที่ไม่สม่ำเสมอและหน้าจอวัด

เมื่อ meson สลายตัว อิเล็กตรอนถูกดีดออกในทิศทางหนึ่ง และโพซิตรอนในอีกทิศทาง อนุภาคทั้งสองตัวจะเดินทางผ่านสนามแม่เหล็กที่ไม่สม่ำเสมอ ทำให้เบี่ยงเบนไปในทิศทางของสนามแม่เหล็ก หรือตรงข้ามสนามแม่เหล็ก

ถ้าเรามีแหล่งกำเนิด meson จำนวนมาก เราสามารถรวบรวมสถิติเกี่ยวกับเรื่องนี้ได้ ถ้าผู้สังเกตทางซ้ายและทางขวา (เรียกว่า Lucas และ Rihanna ตามลำดับ) วัดตามแกนเดิมเสมอ สถิตินี้จะไม่น่าสนใจ: ทุกครั้งที่คนหนึ่งวัดขึ้น อีกคนวัดลง ทุกครั้งที่คนหนึ่งวัดเข้าหน้า อีกคนจะวัดออกหน้า และอื่น ๆ แต่ถ้าผู้เล่นเป็นอิสระที่จะวัดสปินตามทิศทางใดก็ได้ที่ต้องการ เราอาจพบสิ่งที่น่าสนใจกว่านี้

การทดลองที่อธิบายข้างต้น ซึ่งอนุภาคบินออกไปพร้อมโมเมนตัมเชิงมุมสปินที่วัดโดยผู้สังเกตสองคน ถูกเสนอครั้งแรกโดย Einstein, Podolsky และ Rosen (EPR) ในเอกสารนี้ และบางครั้งเรียกว่า "การทดลอง EPR"

ตัวเลือกของเรา

ขอระบุมุมมองทางประวัติศาสตร์สองอย่างซ้ำอีกครั้งเพื่อความชัดเจน:

ตัวเลือกที่ 1 (ไอน์สไตน์): สปินทั้งสอง (อิเล็กตรอนและโพซิตรอน) ถูกกำหนดแล้ว ในความหมายที่ว่าผลลัพธ์ของการวัดใด ๆ ตามแกนใด ๆ ถูกกำหนดไว้ล่วงหน้าโดยธรรมชาติ แม้เราจะไม่รู้ว่าเป็นอะไร อาจนึกถึงสิ่งนี้ว่าสปินมีทิศทางจริง ๆ ที่กำหนดไว้ในอวกาศ ซึ่งเราไม่รู้ แต่มันมีอยู่ หรืออาจนึกถึงว่าเป็นชุดข้อมูลหรือคำสั่งที่กำหนดผลลัพธ์ของการวัดตามแกน xx, yy, zz หรืออะไรก็ตามระหว่างนั้น การวัดสปินของโพซิตรอน (เช่น ตามแกน z) บังคับให้มันจัดทิศทางและจัดเรียงในทิศทาง z หรือ -z ซึ่งไม่มีผลเชิงสาเหตุต่อสปินของอิเล็กตรอน แม้ว่าเราทราบว่าสปินของอิเล็กตรอนเริ่มต้นตรงข้ามกับสปินของโพซิตรอน ดังนั้นถ้าสปินของโพซิตรอนวัดได้ตาม +z สปินของอิเล็กตรอนจะวัดตาม -z นอกจากเงื่อนไขเริ่มต้นของคำสั่งที่อนุรักษ์โมเมนตัมเชิงมุม (สปินต่อต้านกัน) ไม่มีการเชื่อมต่อระหว่างสปินทั้งสอง ตัวเลือกนี้บางครั้งเรียกว่า "ตัวแปรซ่อนเร้น" หมายความว่า การฉายตามแกนต่าง ๆ ถูกกำหนดไว้ แต่ซ่อนจากเรา

ตัวเลือกที่ 2 (Born): สปินทั้งสองอยู่ในสถานะที่ยังไม่กำหนดในสถานะเริ่มต้น... ไม่ใช่แค่ไม่รู้ แต่ไม่ได้ถูกนิยามทางกายภาพ ไม่มีทิศทางที่แน่นอนหรือคำสั่งเกี่ยวกับผลการทดลอง จนกว่าจะถูกวัด การวัดสปินของโพซิตรอน "ยุบ" พื้นที่ของความเป็นไปได้ทั้งหมดลงสู่สถานะที่กำหนดเดี่ยว ไม่ว่าจะเป็นตาม +z หรือ -z การวัดโพซิตรอนนี้บังคับให้สปินของอิเล็กตรอนยุบเป็นการฉายที่กำหนดไว้ตาม z ด้วย ตรงข้ามกับของโพซิตรอนพอดี เอฟเฟกต์นี้เกิดขึ้นกระจายตัวในอวกาศระหว่างโพซิตรอนและอิเล็กตรอน สิ่งนี้ถูกเรียกว่า "การกระทำผีปีศาจจากระยะไกล" แต่อาจเรียกอย่างเรียบง่ายกว่าว่า "ฟิสิกส์แบบไม่ท้องถิ่น"

ตรวจสอบความเข้าใจ

อ่านคำถามด้านล่าง คิดคำตอบ แล้วคลิกสามเหลี่ยมเพื่อเปิดเผยคำตอบ

การแยกแยะระหว่างตัวเลือกของไอน์สไตน์กับ Born ในเชิงทดลองคงดีมาก มีการทดลองอะไรบ้างที่จะให้ผลลัพธ์เดิมไม่ว่าตัวเลือกไหนจะเป็นจริง? คุณคิดการทดลองที่จะให้ผลต่างกันสำหรับสองตัวเลือกได้ไหม? หมายเหตุ คงน่าประทับใจมากถ้าคุณคิดการทดลองที่จะให้ผลต่างกันระหว่างตัวเลือกของไอน์สไตน์กับ Born ได้ เพราะมนุษย์ใช้เวลาหลายทศวรรษถึงจะคิดออก

คำตอบ:

ยึดกับการทดลองที่อธิบายไว้จนถึงตอนนี้ (กล่าวคือ สปินสุทธิเป็นศูนย์โดยโพซิตรอนและอิเล็กตรอนต่อต้านกัน) การวัดสปินทั้งสองตาม ±x\pm x, ±y\pm y หรือ ±z\pm z จะให้เครื่องหมายตรงข้ามเสมอเนื่องจากการอนุรักษ์โมเมนตัมเชิงมุม โดยไม่ขึ้นกับว่าตัวเลือกไหนถูก การวัดสปินของอนุภาคตัวหนึ่ง (เช่น อิเล็กตรอน) ตามทิศทางหนึ่ง (เช่น +z+z) หมายความว่าสปินของอนุภาคอีกตัว โพซิตรอน จะวัดตาม z-z ถ้าแทนที่คุณวัดสปินของโพซิตรอนตามทิศทาง xx มันจะมีโอกาสเท่ากันที่จะออกมาเป็น +x+x หรือ x-x ซึ่งอาจเป็นเพราะนั่นคือสิ่งที่คำสั่งซ่อนเร้นบอก (ตัวเลือกที่ 1 ของไอน์สไตน์) หรือเพราะการกระจายความน่าจะเป็นของสปินโพซิตรอนอัปเดตหลังจากวัดสปินอิเล็กตรอน และการกระจายความน่าจะเป็นใหม่สอดคล้องกับการแบ่ง 50-50 ระหว่าง ±x\pm x (ตัวเลือกที่ 2 ของ Born) ประเด็นเหล่านี้อธิบายละเอียดเพิ่มเติมด้านล่าง

คำตอบแตกต่างเล็กน้อยถ้าคุณพิจารณาการสลายตัวของอนุภาคที่มีสปิน-1 ทำให้อนุภาคสองตัวที่ออกมา (เช่น โพซิตรอนและอิเล็กตรอน) ต้องมีสปินจัดในทิศทางเดียวกัน แทนที่จะต่อต้านกัน ถ้าตัวหนึ่งถูกวัดตาม +y+y การวัดอนุภาคอีกตัวตามแกน yy ต้องให้ +y+y ด้วย เป็นต้น เช่นเดิม ผลนี้อาจมาจากตัวเลือกใดก็ได้

ส่วนที่เหลือของบทเรียนนี้อุทิศให้กับการทดลองที่สามารถแยกแยะระหว่างตัวเลือกของไอน์สไตน์และ Born ดังนั้นเราจะไม่ลงรายละเอียดมากที่นี่ แต่ส่วนหนึ่งของเคล็ดลับคือการวัดอนุภาคสองตัวตามทิศทางต่างกัน (เช่น xx และ zz หรือแม้แต่ทิศทางระหว่างแกน Cartesian ดั้งเดิม) ส่วนที่เหลือมาจากการพิจารณาอย่างรอบคอบถึงความน่าจะเป็นที่แม่นยำของการได้ผลลัพธ์ต่างกันตามการทำนายของกลศาสตร์ควอนตัมและของข้อมูลคลาสสิกในตัวแปรซ่อนเร้น

ในทั้งสองตัวเลือก ถ้าผู้สังเกตทั้งสอง Lucas และ Rihanna วัดตามแกนเดียวกัน เราจะคาดว่าจะได้สปินต่อต้านกัน ไม่ว่าตัวเลือกไหนจะเป็นจริง เพื่อดูว่าเป็นเพราะอะไร พิจารณาแผนภาพด้านล่าง

แผนภาพสาม. อันแรกมีแผนภาพของเวกเตอร์สปินสองตัวที่หันทิศทางตรงข้าม วางอยู่บนเส้นทแยงมุมระหว่างแกน x และ z ถัดมา เมื่อวัดตาม z เพื่อนคนหนึ่งได้สปินตาม z ลบ อีกคนได้สปินตาม z บวก สุดท้าย สถานการณ์สำหรับการวัดตามแกน x ซึ่งคนหนึ่งวัดสปินตาม x ลบ และอีกคนตาม x บวก

รูปข้างต้นแสดงตัวเลือกของไอน์สไตน์ ทิศทางของสปินตรงข้ามและถูกกำหนดแล้ว ถ้าวัดตามแกน zz ตัวหนึ่งจะอยู่ตาม +z+z และอีกตัวตาม z-z เราไม่มีเหตุผลที่จะสมมติว่าโพซิตรอนจะอยู่ตาม +z+z และอิเล็กตรอนตาม z-z รูปเพียงแสดงว่าสปินจะถูกวัดให้อยู่ในทิศทางตรงข้ามกัน ในความเป็นจริง สปินที่กำหนดไม่จำเป็นต้องมีส่วนประกอบตามทิศทางที่วัดในที่สุดในกรณีของตัวเลือกไอน์สไตน์ ข้อความที่อ่อนแอที่สุดของตัวเลือกไอน์สไตน์คือมีชุดคำสั่งบางชุดที่เก็บอยู่ในสปินที่กำหนดผลลัพธ์ของการวัดเมื่อวัดตามแกนใด ๆ เราไม่จำเป็นต้องนึกภาพว่าคำสั่งเหล่านี้อยู่ในรูปแบบของเวกเตอร์ง่าย ๆ (ดูแผนภาพด้านล่าง) เราจะกลับมาที่เรื่องนี้ภายหลัง

แผนภาพสาม. อันแรกไม่แสดงทิศทางเวกเตอร์ที่กำหนดแน่ชัดอีกต่อไป แต่แทนที่ด้วยรายการกฎที่กำหนดผลลัพธ์การวัด แผนภาพที่สองและสามเหมือนกับใ��นรูปก่อนหน้า แสดงการวัดตาม z บวก/ลบ และตาม x บวก/ลบ

รูปด้านล่างแสดงตัวเลือกของ Born ซึ่งทิศทางของสปินโพซิตรอนและอิเล็กตรอนกระจายออกในการกระจายความน่าจะเป็นและไม่มีทิศทางที่แน่นอน อย่าอ่านมากเกินไปในรูปร่างของการกระจาย สปินแต่ละตัวสามารถมีความน่าจะเป็นที่ไม่ใช่ศูนย์ที่จะชี้ไปในทิศทางใด ๆ ตราบใดที่มันตรงข้ามกัน เราเพียงแค่วาดเป็นเศษส่วนของวงกลมเพื่อให้มองเห็นได้สำหรับการสนทนา โปรดสังเกตว่าในกรณีของตัวเลือก Born ยังคงเป็นความจริงที่ว่าโมเมนตัมเชิงมุมต้องได้รับการอนุรักษ์ ดังนั้นถ้าคลื่นความน่าจะเป็นตัวหนึ่ง "ยุบ" ให้สปินชี้ตาม +z+z อีกตัวจะชี้ตาม z-z และเบี่ยงเบนในทิศทางตรงข้าม ตัวเลือกดูเหมือนกัน

แผนภาพแสดงความเบลอของทิศทางที่เป็นไปได้สำหรับเวกเตอร์สปิน ตามด้วยผลลัพธ์การวัดเดิมเหมือนในรูปก่อนหน้า

แต่จะเกิดอะไรขึ้นเมื่อผู้สังเกต L และ R สามารถวัดตามแกนใดก็ได้จากสามแกน โดยแต่ละคู่ห่างกัน 120 องศา ดังแสดงในรูปที่ 4 & 5 ผู้สังเกตแต่ละคนสามารถตัดสินใจโดยสุ่มว่าจะวัดสปินตามแกนใด (a, b หรือ c) ทั้งสองไม่จำเป็นต้องวัดตามแกนเดียวกัน เมื่อผู้สังเกตแต่ละคนวัด อาจพบการฉายเป็นบวกตามแกนที่เลือก หรืออาจพบการฉายเป็นลบ ตัวอย่างเช่น Lucas และ Rihanna อาจวัด +a และ -b หรือ +b และ +c โปรดสังเกตว่าถ้าเผอิญเลือกวัดตามแกนเดียวกัน พวกเขาต้องได้เครื่องหมายตรงข้ามในการฉาย: +a และ -a, +b และ -b หรือ +c และ -c ไม่สามารถทั้งคู่พบ เช่น +a ได้ ในส่วนถัดไป เราจะคำนวณความน่าจะเป็นที่ Lucas และ Rihanna จะได้เครื่องหมายเดียวกันบนแกนที่วัด (++ หรือ --) และเครื่องหมายตรงข้าม (+- หรือ -+)

แผนภาพแสดงเวกเตอร์สปินเริ่มต้นสองตัว ตามด้วยการวัดที่เป็นไปได้ตามสามเส้น a, b และ c โดยแต่ละเส้นมีทิศทางบวกและลบ เนื่องจากแกนเหล่านี้ไม่ตั้งฉากกัน Lucas และ Rihanna จะไม่วัดสปินในทิศทางตรงข้ามยกเว้นเมื่อเลือกวัดตามแกนเดียวกัน

รูปสองรูปข้างต้นแสดงการตีความตัวแปรซ่อนเร้นที่เป็นไปได้ในสถานการณ์การวัดสามแกนใหม่นี้ กล่าวคือ สปินถูกกำหนดแล้วเป็นเวกเตอร์ หรือมีชุดคำสั่งทางกายภาพฝังอยู่ในระบบเพื่อให้ผลลัพธ์ของการวัดทั้งหมดที่เป็นไปได้ถูกกำหนดไว้ล่วงหน้า แม้ว่านักทดลองจะไม่สามารถรู้ได้ก่อนการวัด ทางเลือกแสดงไว้ด้านล่าง มีการกระจายความน่าจะเป็นของผลลัพธ์ และการกระจายนี้สามารถบอกเราบางอย่างเกี่ยวกับความน่าจะเป็นของผลลัพธ์การวัดต่าง ๆ แต่ผลลัพธ์ยังไม่ได้ถูกกำหนดโดยธรรมชาติก่อนการวัด

การกระจายความน่าจะเป็นที่เบลอแสดงขึ้นอีกครั้ง คราวนี้กับแกนใหม่สามแกน a, b และ c ซึ่งมาพร้อมความน่าจะเป็นการวัดที่ต่างกันตามทิศทางต่าง ๆ

เราสามารถถามตัวเองว่า "ผู้เล่นสองคนควรพบเครื่องหมายเดียวกันของการฉายสปินบ่อยแค่ไหน?" กล่าวคือ เราไม่ได้บันทึกว่าวัดตามแกนใด เราแค่บันทึกว่าพบเครื่องหมายเดียวกันหรือต่างกัน ไม่ชัดเจนว่าตัวเลือกของไอน์สไตน์กับ Born จะให้ผลลัพธ์เดียวกันในรูปแบบการวัดที่ซับซ้อนกว่านี้หรือไม่ แต่ควรชัดเจนจากรูปที่ 4 และ 5 ว่า possiblepossible ที่จะมีความแตกต่าง สำหรับกรณีที่แสดงในตัวเลือกของไอน์สไตน์ การวัดการฉายของสปิน e+e+ บนแกน aa จะให้ +a+a แน่นอน และการฉายของสปิน ee- บนแกน bb จะให้ b-b (แค่เล็กน้อย) แต่ในตัวเลือกของ Born ความเป็นไปได้กว้างมาก เป็นความจริงที่โมเมนตัมเชิงมุมยังคงได้รับการอนุรักษ์ แต่เนื่องจากสนามแม่เหล็กทั้งสองไม่ได้หันตามแกนเดียวกัน เราบังคับให้อนุภาคอยู่ในสถานการณ์ที่ต้องยุบบนแกนต่างกัน (ผ่านการโต้ตอบกับสนาม) ในส่วนถัดไป เราจะใช้กลศาสตร์ควอนตัมเพื่อกำหนดว่าความน่าจะเป็นควรเป็นเท่าใด ตามตัวเลือกของ Born ที่ Lucas และ Rihanna จะได้เครื่องหมายเดียวกันบนแกนที่วัด (++ หรือ --) และความน่าจะเป็นที่จะได้เครื่องหมายตรงข้าม (+- หรือ -+)

การทำนาย

ตัวเลือกของไอน์สไตน์ (ตัวแปรซ่อนเร้น) ทำนายอะไร?

ถ้าตัวเลือกของไอน์สไตน์เป็นจริง คู่ใด ๆ ของ e+e+ และ ee- จะมีชุดส่วนประกอบเวกเตอร์สำหรับสปิน ตัวอย่างเช่น อิเล็กตรอนอาจมีส่วนประกอบ (+a^,b^,+c^)(+\hat{a},-\hat{b}, +\hat{c}) ในกรณีนี้โพซิตรอนต้องมีส่วนประกอบ (a^,+b^,c^)(-\hat{a},+\hat{b}, -\hat{c}) เราระบุเฉพาะเครื่องหมายของการฉายบนแต่ละแกน ไม่ใช่ขนาด ลองให้การสลายตัว NN ครั้งจำนวนมากเกิดขึ้น และรวบรวมการวัดเพื่อเติมตารางด้านล่าง

ประชากรอนุภาค 1อนุภาค 2
N1N_1(+a^,+b^,+c^)(+\hat{a},+\hat{b},+\hat{c})(a^,b^,c^)(-\hat{a},-\hat{b},-\hat{c})
N2N_2(+a^,+b^,c^)(+\hat{a},+\hat{b},-\hat{c})(a^,b^,+c^)(-\hat{a},-\hat{b},+\hat{c})
N3N_3(+a^,b^,+c^)(+\hat{a},-\hat{b},+\hat{c})(a^,+b^,c^)(-\hat{a},+\hat{b},-\hat{c})
N4N_4(+a^,b^,c^)(+\hat{a},-\hat{b},-\hat{c})(a^,+b^,+c^)(-\hat{a},+\hat{b},+\hat{c})
N5N_5(a^,+b^,+c^)(-\hat{a},+\hat{b},+\hat{c})(+a^,b^,c^)(+\hat{a},-\hat{b},-\hat{c})
N6N_6(a^,+b^,c^)(-\hat{a},+\hat{b},-\hat{c})(+a^,b^,+c^)(+\hat{a},-\hat{b},+\hat{c})
N7N_7(a^,b^,+c^)(-\hat{a},-\hat{b},+\hat{c})(+a^,+b^,c^)(+\hat{a},+\hat{b},-\hat{c})
N8N_8(a^,b^,c^)(-\hat{a},-\hat{b},-\hat{c})(+a^,+b^,+c^)(+\hat{a},+\hat{b},+\hat{c})

สำหรับแต่ละกรณีในตารางข้างต้น มีตัวเลือก 9 อย่างสำหรับแกนของ Lucas และ Rihanna: aaaa, abab, acac, baba, bbbb, bcbc, caca, cbcb และ cccc จากการอ่านตาราง ความน่าจะเป็นที่ผู้สังเกตสองคนจะวัดได้เครื่องหมายเดียวกันสำหรับแถวที่ 1 และ 8 คือศูนย์ สำหรับแถว 2-7 มี 4 วิธีในการได้เครื่องหมายเดียวกัน ซึ่งเราจะแสดงเฉพาะแถวที่ 2:

เครื่องหมายเดียวกัน: acac, bcbc, caca, cbcb เครื่องหมายตรงข้าม: aaaa, abab, baba, bbbb, cccc

ดังนั้น ถ้าตัวเลือกของไอน์สไตน์เป็นการตีความที่ถูกต้องของสถานะควอนตัม ความน่าจะเป็นรวมที่รวมจากประชากรทั้งหมดที่เป็นไปได้ของ Lucas และ Rihanna ที่ได้เครื่องหมายเดียวกันของการฉายสปินบนแกนที่เลือกโดยสุ่มคือ: Psame=1iNi49(N2+N3+N4+N5+N6+N7)49 P_\text{same}=\frac{1}{\sum_i{N_i}} \frac{4}{9} (N_2+N_3+N_4+N_5+N_6+N_7)\leq \frac{4}{9} ซึ่งความเท่ากันเกิดขึ้นเฉพาะเมื่อ N1=N8=0N_1=N_8=0

ตรวจสอบความเข้าใจ

อ่านคำถามด้านล่าง คิดคำตอบ แล้วคลิกสามเหลี่ยมเพื่อเปิดเผยคำตอบ

สำหรับแถวที่ 2 ของตารางข้างต้น เราได้ระบุวิธีทั้งหมดที่ Lucas และ Rihanna สามารถได้เครื่องหมายเดียวกันสำหรับการวัดของพวกเขา และวิธีทั้งหมดที่พวกเขาสามารถได้เครื่องหมายต่างกัน ทำซ้ำสำหรับแถวที่สาม

คำตอบ:

เครื่องหมายเดียวกัน: abab, baba, bcbc, cbcb

เครื่องหมายตรงข้าม: aaaa, acac, bbbb, caca, cccc

ตารางข้างต้นอ้างถึง "ประชากร" หมายความว่าเราไม่รู้ว่าธรรมชาติผลิตคำสั่งแต่ละประเภทจำนวนเท่าใด ถ้าการปฏิบัติตัวแปรซ่อนเร้นถูกต้อง แสดงให้เห็นว่าไม่ว่าการกระจายของ N1N_1 ถึง N8N_8 จะเป็นอย่างไร ความน่าจะเป็นของการได้เครื่องหมายเดียวกันจากการวัดจะน้อยกว่าหรือเท่ากับ 4/9 เสมอ

คำตอบ:

ขอเริ่มด้วยการสมมติจำนวนการทดลองทั้งหมดที่คงที่ เพื่อให้ iNi=Ntot\sum_i{N_i} = N_{tot} คงที่ โปรดสังเกตว่าในกรณีพิเศษที่ N1=N8=0N_1=N_8=0 นิพจน์จะลดเหลือ

Psame=1N2+N3+N4+N5+N6+N7×49×(N2+N3+N4+N5+N6+N7)=1Ntot×49×Ntot=49P_{same}=\frac{1}{N_2+N_3+N_4+N_5+N_6+N_7} \times \frac{4}{9} \times (N_2+N_3+N_4+N_5+N_6+N_7) = \frac{1}{N_{tot}} \times \frac{4}{9} \times N_{tot}= \frac{4}{9}

สมมติว่า N10N_1 \neq 0 หรือ N80N_8 \neq 0 แล้ว

Psame=1N1+N2+N3+N4+N5+N6+N7+N8×49×(N2+N3+N4+N5+N6+N7)=49P_{same}=\frac{1}{N'_1+N'_2+N'_3+N'_4+N'_5+N'_6+N'_7+N'_8} \times \frac{4}{9} \times (N'_2+N'_3+N'_4+N'_5+N'_6+N'_7) = \frac{4}{9}

ผลรวมของการทดลองทั้งหมด NtotN_tot ยังคงเหมือนเดิม แต่เนื่องจาก N1N'_1 หรือ N8N'_8 เพิ่มขึ้นจาก 0 ผลรวมของ N2N'_2 ถึง N7N'_7 ต้องต่ำกว่าเดิม โดยเฉพาะอย่างยิ่ง ผลรวมของ N2N'_2 ถึง N7N'_7 น้อยกว่า NtotN_{tot} ดังนั้น

Psame=1Ntot×49×(N2+N3+N4+N5+N6+N7)<49P_{same}=\frac{1}{N_{tot}} \times \frac{4}{9} \times (N'_2+N'_3+N'_4+N'_5+N'_6+N'_7) < \frac{4}{9}

รวมทุกกรณีที่เป็นไปได้ เราได้ Psame49P_{same} \leq \frac{4}{9}

การทำให้เป็นกรณีทั่วไป

ในการปฏิบัติข้างต้น เราพิจารณาการวัดตามแกนเฉพาะ แน่นอนว่าสามารถวัดตามแกนใดก็ได้ ให้เรียกเวกเตอร์สปินสองตัวของสองอนุภาคว่า a\vec{a} และ b\vec{b} ให้ λ\lambda เป็นตัวแปรซ่อนเร้นบางตัวเพื่อให้สถานะของระบบสองอนุภาคสอดคล้องกับค่าที่กำหนดไว้ของ lambdalambda ให้ ρ(λ)\rho(\lambda) เป็นความหนาแน่นความน่าจะเป็นใน λ\lambda สุดท้าย เราเลือกสัญลักษณ์ A(a,λ)A(\vec{a},\lambda) และ B(b,λ)B(\vec{b},\lambda) ให้เป็นผลลัพธ์ที่กำหนดไว้ล่วงหน้าของการวัดที่ทำบนอนุภาคใดก็ได้ (A หรือ B) ตามเวกเตอร์สปินและตัวแปรซ่อนเร้น สำคัญคือ โปรดสังเกตว่า AA เป็นอิสระจาก b\vec{b} และ BB เป็นอิสระจาก a\vec{a} ตอนนี้สามารถตั้งคำถามจำนวนหนึ่งที่เกี่ยวข้องกับความสัมพันธ์ระหว่างการวัดบน A และ B โดยเฉพาะอย่างยิ่ง สามารถถามเกี่ยวกับค่าคาดหวังที่ให้โดย

E(a,b)dλρ(λ)A(a,λ)B(b,λ)E(\vec{a},\vec{b})\equiv\int{d\lambda \rho(\lambda)A(\vec{a},\lambda)B(\vec{b},\lambda)}

ตามสมมติฐานมาตรฐานบางประการเกี่ยวกับค่าเหล่านี้ เช่น A(a,λ)1A(\vec{a},\lambda)\leq 1, B(b,λ)1B(\vec{b},\lambda)\leq 1 และการนอร์มัลไลซ์ตาม ρ(λ)\rho(\lambda) สามารถแสดงได้ว่าความสัมพันธ์ระหว่างอนุภาคสองตัวเป็นไปตามความสัมพันธ์

E(a,b)E(a,d)+E(c,d)+E(c,b)2,|E(\vec{a},\vec{b})-E(\vec{a},\vec{d})|+|E(\vec{c},\vec{d})+E(\vec{c},\vec{b})|\leq 2,

โดยที่ a\vec{a} และ b\vec{b} คือสถานะสปินของระบบคุณ และ c\vec{c} และ d\vec{d} คือสถานะสปินอ้างอิง (สถานะสปินอื่น ๆ ที่เป็นไปได้ของระบบ) นี่คือหนึ่งในกลุ่มอสมการทั้งหมดที่รู้จักกันในชื่อ "อสมการเบลล์" เราจะไม่ใช้รูปแบบทั่วไปนี้ที่นี่ แต่จะมุ่งเน้นที่การตั้งค่าการทดลองเฉพาะหนึ่งอย่าง เพื่อให้เราสามารถแมปการตั้งค่านั้นบน Circuit ควอนตัมได้

ตัวเลือกของ Born (กลศาสตร์ควอนตัมแบบไม่กำหนดตายตัว) ทำนายอะไร?

Lucas จะเลือกแกนหนึ่งและพบว่าสปินของอนุภาคหนึ่งอยู่ในทิศทางบวกหรือลบ ไม่ว่าจะได้อะไร ให้เราจัดแกนของเราเพื่อให้แกน zz เป็นทิศทางนั้น จากนั้นเราสามารถเขียนสถานะเริ่มต้นหลังจากการสลายตัวของ meson และก่อนการวัดใด ๆ ว่า

ψ=12(+LRL+R)|\psi \rangle =\frac{1}{\sqrt{2}}(|+\rangle_L|-\rangle_R-|-\rangle_L|+\rangle_R)

Rihanna จะวัดสปินของอนุภาคของเธอตามทิศทางอื่นในมุม θ\theta เทียบกับของ Lucas ตัวดำเนินการสปินตามทิศทางตามอำเภอใจ n^\hat{n} กำหนดโดย

S^n^=2[cos(θ)sin(θ)eiϕsin(θ)eiϕcos(θ)]\hat{S}_{\hat{n}}=\frac{\hbar}{2}\begin{bmatrix} \cos(\theta) & \sin(\theta) e^{-i\phi} \\ \sin(\theta) e^{i\phi} & -\cos(\theta) \end{bmatrix}

สถานะลักษณะเฉพาะของตัวดำเนินการนี้คือ

+n^=cos(θ/2)0+sin(θ/2)eiϕ1n^=sin(θ/2)0cos(θ/2)eiϕ1|+\rangle_{\hat{n}}=\cos(\theta/2)|0\rangle+\sin(\theta/2)e^{i\phi}|1\rangle \\ |-\rangle_{\hat{n}}=\sin(\theta/2)|0\rangle-\cos(\theta/2)e^{i\phi}|1\rangle

ตรวจสอบความเข้าใจ

อ่านคำถามด้านล่าง คิดคำตอบ แล้วคลิกสามเหลี่ยมเพื่อเปิดเผยคำตอบ

ตรวจสอบว่า +n^|+\rangle_{\hat{n}} เป็น eigenstate ของตัวดำเนินการ S^n^\hat{S}_{\hat{n}} ข้างต้น และหาค่า eigenvalue

คำตอบ:

S^n^+n^=2[cos(θ)sin(θ)eiϕsin(θ)eiϕcos(θ)][cos(θ/2)sin(θ/2)eiϕ]\hat{S}_{\hat{n}}|+\rangle_{\hat{n}}=\frac{\hbar}{2}\begin{bmatrix} \cos(\theta) & \sin(\theta) e^{-i\phi} \\ \sin(\theta) e^{i\phi} & -\cos(\theta) \end{bmatrix} \begin{bmatrix} \cos(\theta/2) \\ \sin(\theta/2)e^{i\phi}\end{bmatrix}=2[cos(θ)cos(θ/2)+sin(θ)sin(θ/2)eiϕeiϕcos(θ/2)sin(θ)eiϕcos(θ)sin(θ/2)eiϕ]=\frac{\hbar}{2}\begin{bmatrix} \cos(\theta)\cos(\theta/2) + \sin(\theta)\sin(\theta/2)e^{i\phi} e^{-i\phi} \\ \cos(\theta/2)\sin(\theta) e^{i\phi} -\cos(\theta)\sin(\theta/2)e^{i\phi} \end{bmatrix}

โดยใช้ cos(θ)=cos2(θ/2)sin2(θ/2)\cos(\theta)=\cos^2(\theta/2)-\sin^2(\theta/2) และ sin(θ)=2cos(θ/2)sin(θ/2)\sin(\theta)=2\cos(\theta/2)\sin(\theta/2) เราได้

=2[(cos(θ)+2sin2(θ/2))cos(θ/2)(2cos2(θ/2)cos2(θ/2)+sin2(θ/2))sin(θ/2)eiϕ]=\frac{\hbar}{2}\begin{bmatrix} \left(\cos(\theta) + 2\sin^2(\theta/2)\right) \cos(\theta/2) \\ \left(2\cos^2(\theta/2) -\cos^2(\theta/2)+\sin^2(\theta/2)\right)\sin(\theta/2)e^{i\phi} \end{bmatrix}=2[(cos2(θ/2)sin2(θ/2)+2sin2(θ/2))cos(θ/2)(2cos2(θ/2)cos2(θ/2)+sin2(θ/2))sin(θ/2)eiϕ]=\frac{\hbar}{2}\begin{bmatrix} \left(\cos^2(\theta/2)-\sin^2(\theta/2) + 2\sin^2(\theta/2)\right) \cos(\theta/2) \\ \left(2\cos^2(\theta/2) -\cos^2(\theta/2)+\sin^2(\theta/2)\right)\sin(\theta/2)e^{i\phi} \end{bmatrix}=2[cos(θ/2)sin(θ/2)eiϕ]=\frac{\hbar}{2}\begin{bmatrix} \cos(\theta/2) \\ \sin(\theta/2)e^{i\phi} \end{bmatrix}

ซึ่งแสดงให้เห็นว่า +n^|+\rangle_{\hat{n}} เป็น eigenstate และค่า eigenvalue ที่สอดคล้องกันคือ 2\frac{\hbar}{2}

ความน่าจะเป็นที่ Lucas จะวัดสปินในทิศทางบวกตามแกนที่เขาเลือก +|+\rangle และและ Rihanna ก็วัดสปินบวกตามทิศทางที่เธอเลือก +n^|+\rangle_{\hat{n}} คือ

P++=(L+R,n^+)ψ2P_{++}=\left|\left(_L\langle+|_{R,\hat{n}}\langle+|\right)|\psi\rangle\right|^2 P++=(L+R(cos(θ/2)++sin(θ/2)eiϕ))12(+LRL+R)2P_{++}=\left| \left(_L\langle+|_R\left(\cos(\theta/2)\langle+|+\sin(\theta/2)e^{-i\phi}\langle-|\right)\right) \frac{1}{\sqrt{2}}\left(|+\rangle_L|-\rangle_R-|-\rangle_L|+\rangle_R\right) \right|^2 P++=12(L+R(cos(θ/2)++sin(θ/2)eiϕ))(+LR)2P_{++}=\frac{1}{2}\left| \left(_L\langle+|_R\left(\cos(\theta/2)\langle+|+\sin(\theta/2)e^{-i\phi}\langle-|\right)\right) \left(|+\rangle_L|-\rangle_R\right) \right|^2 P++=12(sin(θ/2)eiϕpR)R2P_{++}=\frac{1}{2}\left| \left(\sin(\theta/2)e^{-i\phi}\vphantom{p}_R\langle-|\right) |-\rangle_R \right|^2 P++=12sin2(θ/2)P_{++}=\frac{1}{2}\sin^2(\theta/2)

ตรวจสอบความเข้าใจ

อ่านคำถามด้านล่าง คิดคำตอบ แล้วคลิกสามเหลี่ยมเพื่อเปิดเผยคำตอบ

ทำแบบเดิมสำหรับ PP_{--} ตรวจสอบว่ามันเท่ากับ 12sin2(θ)\frac{1}{2}\sin^2(\theta) ด้วย

คำตอบ:

P=(LR,n^+)ψ2P_{--}=\left|\left(_L\langle-|_{R,\hat{-n}}\langle+|\right)|\psi\rangle\right|^2P=(LR(sin(θ/2)+cos(θ/2)eiϕ))12(+LRL+R)2P_{--}=\left| \left(_L\langle-|_R\left(\sin(\theta/2)\langle+|-\cos(\theta/2)e^{-i\phi}\langle-|\right)\right) \frac{1}{\sqrt{2}}\left(|+\rangle_L|-\rangle_R-|-\rangle_L|+\rangle_R\right) \right|^2P=12(LR(sin(θ/2)+cos(θ/2)eiϕ))(L+R)2P_{--}=\frac{1}{2}\left| \left(_L\langle-|_R\left(\sin(\theta/2)\langle+|-\cos(\theta/2)e^{-i\phi}\langle-|\right)\right) \left(-|-\rangle_L|+\rangle_R\right) \right|^2P=12(sin(θ/2)pR+)+R2P_{--}=\frac{1}{2}\left| \left(\sin(\theta/2) \vphantom{p}_R\langle+|\right) |+\rangle_R \right|^2P=12sin2(θ/2)P_{--}=\frac{1}{2}\sin^2(\theta/2)

เมื่อบวกผลลัพธ์เหล่านี้ เราพบว่าความน่าจะเป็นที่เครื่องหมายของแกนที่วัดทั้งสองจะเหมือนกันคือ Psame=sin2(θ/2)P_{\text{same}}=\sin^2(\theta/2)

ตรวจสอบความเข้าใจ

อ่านคำถามด้านล่าง คิดคำตอบ แล้วคลิกสามเหลี่ยมเพื่อเปิดเผยคำตอบ

จะทำอย่างไรเพื่อตรวจสอบคณิตศาสตร์ของผลลัพธ์นี้? เพื่อความชัดเจน เราไม่ได้ขอให้คุณตรวจสอบว่ามันตรงกับธรรมชาติ แค่ต้องการให้แน่ใจว่าไม่มีอะไรผิดพลาดในคณิตศาสตร์ทั้งหมด

คำตอบ:

(1) ทำการคำนวณเดิมสำหรับ Pdiff=cos2(θ/2)P_{\text{diff}}=\cos^2(\theta/2) เพื่อตรวจสอบการอนุรักษ์ความน่าจะเป็น

(2) ตรวจสอบกรณีที่ทราบ แทนค่า θ=0\theta = 0 แล้ว PsameP_{\text{same}} สอดคล้องกับผู้สังเกตสองคนที่วัดสปินตามแกนเดียวกัน ซึ่งจะละเมิดการอนุรักษ์โมเมนตัมเชิงมุม ดังนั้นคุณจะคาดว่าความน่าจะเป็นนั้นจะเป็นศูนย์ และจริง ๆ แล้วการแทนค่า θ=0\theta = 0 ให้ sin2(0/2)=0\sin^2(0/2) = 0

(3) ตรวจสอบกรณีที่ทราบอีกกรณี ลอง θ=π\theta = \pi ควรได้อะไร ระวัง 12\frac{1}{2} นั้นด้วย

เราสร้างภาพเฉพาะกรณีที่แกนอยู่ห่างกัน 120deg120\deg เราจำได้ว่าไม่ว่า Lucas จะได้ทิศทางใด (±a\pm a, ±b\pm b หรือ ±c\pm c) เราเรียกทิศทางนั้นว่า zz แล้ว Rihanna เลือกโดยสุ่มว่าจะวัดตาม ±a\pm a, ±b\pm b หรือ ±c\pm c ถ้าการเลือกของเธอเหมือนกับของ Lucas (ต่างกันแค่เครื่องหมาย) พวกเขาทั้งคู่จะวัดตาม zz และความน่าจะเป็นที่ Rihanna จะวัด +z+z ด้วยเป็นศูนย์ เหตุการณ์นี้ควรเกิดขึ้น 1/3 ของเวลา เนื่องจากการเลือกแกนของ Rihanna เป็นอิสระจากของ Lucas สำหรับตัวเลือกอื่น ๆ Rihanna จะวัดตามแกนที่ห่าง 120deg=2π/3120\deg = 2\pi/3 เรเดียนจาก zz (1/3 ของเวลา) หรือ 240deg=4π/3240\deg = 4\pi/3 เรเดียนจาก zz (1/3 ของเวลา) และแน่นอนว่าตามแกนใด ๆ เหล่านั้น สปินอาจถูกวัดว่าอยู่ในทิศทางบวกหรือลบ ทำให้เราได้ความน่าจะเป็นรวมที่ Lucas และ Rihanna จะได้เครื่องหมายเดียวกัน:

Psame=13(0+sin2(π/3)+sin2(2π/3))=13(0+34+34)=12P_{\text{same}} = \frac{1}{3}\left( 0 + \sin^2(\pi/3) + \sin^2(2\pi/3) \right) = \frac{1}{3}\left( 0 + \frac{3}{4} + \frac{3}{4} \right) = \frac{1}{2}

ว้าว

เราเพิ่งแสดงให้เห็นว่า

(Psame)max, Einstein<(Psame)max, Born.(P_\text{same})_\text{max, Einstein}<(P_\text{same})_\text{max, Born}.

ขอถอยหลังสักก้าว

ตัวเลือกของไอน์สไตน์กับ Born ดูเหมือนจะให้ผลลัพธ์เดียวกันเสมอ เนื่องจากมันต่างกันเฉพาะในคำอธิบายของสิ่งที่เกิดขึ้นก่อนการวัด แต่เมื่อสมมติว่ามีคำสั่งที่กำหนดเครื่องหมายของการวัดสปินตามแกนบางแกนไว้ล่วงหน้า เราได้ข้อจำกัดของความน่าจะเป็นที่การวัดจะให้เครื่องหมายเดียวกัน (Psame)Einstein49(P_{\text{same}})_\text{Einstein}\leq\frac{4}{9} จากนั้นเมื่อสมมติการกระจายความน่าจะเป็นตามกลศาสตร์ควอนตัม... เราได้ค่าต่างออกไปสำหรับ (Psame)Born=12(P_{\text{same}})_\text{Born}=\frac{1}{2} การทำนายจากกลศาสตร์ควอนตัมสูงกว่าที่ตัวแปรซ่อนเร้นอนุญาต ดังนั้นเราสามารถทำการทดลองจริงและค้นหาว่าสถานะกลศาสตร์ควอนตัมถูกกำหนดโดยธรรมชาติก่อนการวัดหรือไม่ หรือว่ามันอยู่ในซูเปอร์โพซิชันแบบความน่าจะเป็นของสถานะที่เป็นไปได้อย่างแท้จริง

การทดลองนี้ถูกทำหลายครั้งโดยใช้ระบบทางกายภาพหลายชนิด บ่อยครั้งเป็นโฟตอน มีการพิจารณาอันละเอียดอ่อนมากมาย เช่น ความลำเอียงในการวัด เวลา (simultaneity) ของการวัด และอื่น ๆ อีกมากมาย ตลอดหลายทศวรรษ ความกังวลเกี่ยวกับความละเอียดอ่อนเหล่านี้ค่อย ๆ ลดลง การทดสอบยังคงดำเนินการอยู่ขณะที่เราเรียนรู้เพิ่มเติมเกี่ยวกับความเป็นจริง แต่ตอนนี้มีความเห็นพ้องกันอย่างกว้างขวางว่าคำตอบที่คุณจะได้ที่นี่ โดยใช้คอมพิวเตอร์ควอนตัมของ IBM® นั้นถูกต้อง

ทดสอบโดยใช้คอมพิวเตอร์ควอนตัมจริง!

ตามการปฏิบัติข้างต้นของเรา ให้กำหนดทิศทางของการวัดของ Lucas เป็น +z+z ซึ่งสะดวกแม้ในแนวทางพีชคณิต แต่สะดวกเป็นพิเศษสำหรับการคำนวณควอนตัม เนื่องจากสิ่งที่วัดโดยทั่วไปคือการฉาย Qubit ตาม zz เราต้องการสร้าง Circuit ควอนตัมที่ให้เงื่อนไขความน่าจะเป็นเดียวกับข้างต้นสำหรับ P++P_{++} เราเป็นอิสระที่จะหันระนาบเพื่อให้ ϕ=0\phi=0 และเราได้

P++=(L+R(cos(θ/2)++sin(θ/2)))12(+LRL+R)2P_{++}=\left| \left(_L\langle+|_R\left(\cos(\theta/2)\langle+|+\sin(\theta/2)\langle-|\right)\right) \frac{1}{\sqrt{2}}\left(|+\rangle_L|-\rangle_R-|-\rangle_L|+\rangle_R\right) \right|^2

เราต้องรู้บางอย่างเกี่ยวกับคอมพิวเตอร์ควอนตัมของ IBM เพื่อนำทางการสนทนาของเรา ประการแรก Qubit เริ่มต้นในสถานะ 0=+z|0\rangle = |+\rangle_z ดังที่กล่าวก่อนหน้า เมื่อวัด จะวัดตามแกน zz ดังนั้นเป้าหมายคือการกำหนดว่าตัวดำเนินการอะไรที่เราสามารถแทรกระหว่างสถานะ basis การวัด 00\langle 0|\langle 0| และสถานะเริ่มต้นของ Qubit 00|0\rangle |0\rangle เพื่อได้นิพจน์ที่ซับซ้อนข้างต้น สำหรับสิ่งนั้น เราต้องทบทวน Gate พื้นฐานบางอย่างในการคำนวณควอนตัม

Gate XX: เทียบเท่ากับการดำเนินการ NOT เป็น Gate เดี่ยว Qubit

X0=1,X1=0X|0\rangle = |1\rangle,\\X|1\rangle=|0\rangle X=[0110]X=\begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}

ใน Qiskit การสร้าง Circuit ที่มี Gate XX มีลักษณะดังนี้:

from qiskit import QuantumCircuit

qc = QuantumCircuit(1)
qc.x(0)
qc.draw("mpl")

ผลลัพธ์ของ code cell ก่อนหน้า

Gate Hadamard HH: สร้างสถานะ superposition เป็น Gate เดี่ยว Qubit

H0=12(0+1),H|0\rangle = \frac{1}{2}\left(|0\rangle+|1\rangle\right), H1=12(01)H|1\rangle = \frac{1}{2}\left(|0\rangle-|1\rangle\right) H=12[1111]H=\frac{1}{2}\begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}

Circuit ที่มี Gate Hadamard สร้างดังนี้:

qc = QuantumCircuit(1)
qc.h(0)
qc.draw("mpl")

ผลลัพธ์ของ code cell ก่อนหน้า

Gate CNOT (Controlled-NOT): Gate นี้ใช้ Qubit สอง: ตัวควบคุมและตัวเป้าหมาย ตรวจสอบสถานะของ Qubit ควบคุมซึ่งไม่เปลี่ยนแปลง แต่ถ้า Qubit ควบคุมอยู่ในสถานะ 1|1\rangle Gate จะเปลี่ยนสถานะของ Qubit เป้าหมาย ถ้าสถานะของ Qubit ควบคุมเป็น 0|0\rangle จะไม่มีการเปลี่ยนแปลงใด ๆ ในสัญลักษณ์ด้านล่าง สมมติว่า Qubit ตัวแรกเป็นตัวควบคุม และตัวที่สองเป็นเป้าหมาย

CNOT00=00,CNOT01=01CNOT10=11CNOT11=10CNOT|00\rangle = |00\rangle, \\ CNOT|01\rangle = |01\rangle \\ CNOT|10\rangle = |11\rangle \\ CNOT|11\rangle = |10\rangle

Gate CNOT มีลักษณะต่างออกไปใน Circuit เนื่องจากต้องใช้ Qubit สอง นี่คือวิธีนำไปใช้:

qc = QuantumCircuit(2)
qc.cx(0, 1)
qc.draw("mpl")

ผลลัพธ์ของ code cell ก่อนหน้า

โปรดสังเกตว่า Qubit แรกที่ระบุใน qc.cx(0,1) คือตัวควบคุม และตัวที่สองคือเป้าหมาย ในแผนภาพ เป้าหมายคือตัวที่มีเครื่องหมาย "+" หรือกากบาทบนมัน

Gate หมุน Y Ry(θ)R_y(\theta): หมุนสถานะรอบแกน y เป็น Gate เดี่ยว Qubit

Ry(θ)0=cos(θ/2)0+sin(θ/2)1,Ry(θ)0=sin(θ/2)0+cos(θ/2)1R_y(\theta)|0\rangle = \cos(\theta/2)|0\rangle+\sin(\theta/2)|1\rangle,\\R_y(\theta)|0\rangle = -\sin(\theta/2)|0\rangle+\cos(\theta/2)|1\rangle Ry(θ)=[cos(θ/2)sin(θ/2)sin(θ/2)cos(θ/2)]R_y(\theta)=\begin{bmatrix} \cos(\theta/2) & -\sin(\theta/2) \\ \sin(\theta/2) & \cos(\theta/2) \end{bmatrix}

สุดท้าย Gate การหมุนนำไปใช้โดยระบุประเภทของ Gate ปริมาณการหมุน และ Qubit ที่วาง Gate ตามลำดับนั้น:

import numpy as np

pi = np.pi

qc = QuantumCircuit(2)
qc.ry(pi / 2, 0)
qc.draw("mpl")

ผลลัพธ์ของ code cell ก่อนหน้า

ชื่อของ Gate ry ระบุแกนที่การหมุนเกิดขึ้น อาร์กิวเมนต์แรก π/2\pi/2 หมายถึงปริมาณของการหมุน และอาร์กิวเมนต์ที่สองระบุ Qubit ที่จะวาง Gate

ตรวจสอบความเข้าใจ

อ่านคำถามด้านล่าง คิดคำตอบ แล้วคลิกสามเหลี่ยมเพื่อเปิดเผยคำตอบ

โดยใช้ syntax ที่แนะนำหรือทบทวนข้างต้น สร้าง Circuit ควอนตัมใด ๆ ที่ประกอบด้วย Gate ควอนตัมสี่ประเภทที่ต่างกัน

คำตอบ:

แน่นอนว่ามีความเป็นไปได้มากมายไม่สิ้นสุด นี่คือตัวอย่างหนึ่ง:

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")

จากการทดลองทางกายภาพสู่ Circuit ควอนตัม

จากการดำเนินการของ Gate เหล่านี้ เราสามารถเห็นได้ว่า ตัวอย่างเช่น kets ในนิพจน์สำหรับ P++P_{++}:

12(+LRL+R)\frac{1}{\sqrt{2}}\left(|+\rangle_L|-\rangle_R-|-\rangle_L|+\rangle_R\right)

น่าจะเกี่ยวข้องกับ Gate Hadamard เพื่อให้ได้ superposition และ Gate CNOT เพื่อสร้าง entanglement

ตอนนี้เราจะใช้ Gate H, X และ CNOT เพื่อแปลง 0L0R|0\rangle_L|0\rangle_R เป็น 12(+LRL+R)\frac{1}{\sqrt{2}}\left(|+\rangle_L|-\rangle_R-|-\rangle_L|+\rangle_R\right):

12(0L1R1L0R)\frac{1}{\sqrt{2}}\left(|0\rangle_L|1\rangle_R-|1\rangle_L|0\rangle_R\right) 12CNOTLR(0L1R1L1R)\frac{1}{\sqrt{2}}CNOT_{LR}\left(|0\rangle_L|1\rangle_R-|1\rangle_L|1\rangle_R\right)

ที่นี่ CNOTLRCNOT_{LR} หมายถึง Gate CNOT ที่ใช้ L เป็นตัวควบคุมและ R เป็นเป้าหมาย ตอนนี้เราสามารถแยกส่วน R ของสถานะออกมาได้:

CNOTLR12(0L1L)1R\text{CNOT}_{LR}\frac{1}{\sqrt{2}}\left(|0\rangle_L-|1\rangle_L\right)|1\rangle_R CNOTLRHL1L1R\text{CNOT}_{LR} H_L|1\rangle_L|1\rangle_R CNOTLRHLXLXR0L0R\text{CNOT}_{LR} H_L X_L X_R|0\rangle_L|0\rangle_R

ตอนนี้เราเขียน ket ทั้งหมดเป็น Gate ควอนตัมที่ทำงานบนสถานะเริ่มต้นของ Qubit

ตอนนี้เราสามารถใช้ Ry(θ)R_y(\theta) ที่ทำงานบน pL0R1\vphantom{p}_L\langle 0|_R\langle 1| เพื่อได้ bra ในนิพจน์สำหรับ P++P_{++}

pL0R(cos(θ/2)0+sin(θ/2)1)\vphantom{p}_L\langle0|_R\left(\cos(\theta/2)\langle0|+\sin(\theta/2)\langle1|\right) pL0R(0cos(θ/2)+1sin(θ/2))\vphantom{p}_L\langle0|_R\left(|0\rangle \cos(\theta/2)+|1\rangle \sin(\theta/2)\right)^{\dagger} pL0(Ry,R(θ)0R)\vphantom{p}_L\langle0|\left(R_{y,R}(\theta)|0\rangle_R\right)^{\dagger} pL0R0Ry,R(θ)\vphantom{p}_L\langle0|_R\langle0|R_{y,R}(-\theta)

เมื่อรวมผลลัพธ์เหล่านี้ เราสามารถเขียนความน่าจะเป็น P++P_{++} ได้ว่า

p++=pL0R0Ry,R(θ)CNOTLRHLXLXR0L0R2p_{++}=\left|\vphantom{p}_L\langle0|_R\langle0|R_{y,R}(-\theta)\text{CNOT}_{LR} H_L X_L X_R|0\rangle_L|0\rangle_R\right|^2

ซึ่งให้คำสั่งที่ชัดเจนสำหรับวิธีสร้าง Circuit ควอนตัมของเรา เราจะใช้ Gate X, H, CNOT และ RyR_y กับ Qubit ที่แทนสถานะควอนตัมของอนุภาคที่วัดโดย Lucas และ Rihanna และทำการวัดเพื่อได้ความน่าจะเป็น

IBM Quantum แนะนำให้แก้ปัญหาการคำนวณควอนตัมโดยใช้กรอบงานที่เราเรียกว่า Qiskit patterns ซึ่งประกอบด้วยขั้นตอนต่อไปนี้

  • ขั้นตอนที่ 1: แมปปัญหาของคุณกับ Circuit ควอนตัม
  • ขั้นตอนที่ 2: ปรับปรุง Circuit ของคุณให้เหมาะสมสำหรับการรันบน hardware ควอนตัมจริง
  • ขั้นตอนที่ 3: รันงานบนคอมพิวเตอร์ควอนตัมของ IBM โดยใช้ Runtime Primitives
  • ขั้นตอนที่ 4: ประมวลผลผลลัพธ์

โดยพื้นฐานแล้ว งานทั้งหมดที่เราทำข้างต้นคือขั้นตอนที่ 1 มาสร้าง Circuit ผลลัพธ์โดยใช้ Qiskit กัน!

ขั้นตอนที่ 1: แมปผลลัพธ์ของเรากับ Circuit ควอนตัม

# 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 ของเวลา แกนที่ Rihanna เลือกจะห่าง 2π/32\pi/3 เรเดียนจากของ Lucas, 1/3 ของเวลาจะห่าง 4π/34 \pi/3 เรเดียนจากของ Lucas และ 1/3 ของเวลาพวกเขาจะเลือกแกนเดียวกัน ดังนั้นเราจริง ๆ ต้องสร้าง Circuit ควอนตัม 3 Circuit สำหรับ 3 กรณีเหล่านี้ และรวมผลลัพธ์ เราจะอธิบาย Circuit แรกอย่างละเอียด และสองตัวสุดท้ายเราจะระบุไว้เท่านั้น

# 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")

ผลลัพธ์ของ code cell ก่อนหน้า

code ด้านล่างสร้าง Circuit ทั้งสามอย่างรวดเร็วในรูปแบบที่กระชับยิ่งขึ้น โปรดสังเกตว่าความแตกต่างเพียงอย่างเดียวระหว่าง Circuit ทั้งสามคือระยะการหมุน Qubit ทั้งสองรอบแกน yy

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")

ผลลัพธ์ของ code cell ก่อนหน้า

ตอนนี้เราจะใช้ Qiskit primitive ที่เรียกว่า StatevectorSampler Sampler เป็น primitive ที่ออกแบบมาเพื่อสุ่มตัวอย่างสถานะที่เป็นไปได้ทั้งหมดของระบบและส่งคืนความน่าจะเป็น (หรือในบางกรณี quasiprobabilities) ของการได้แต่ละสถานะ เราสามารถระบุจำนวน "shots" และดู "counts" สำหรับแต่ละสถานะ

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)

ถ้าเราดู counts จากแต่ละ Circuit เราจะเห็นว่าสองตัวนั้นเหมือนกันโดยพื้นฐาน และตัวที่สามค่อนข้างแตกต่าง

plot_histogram(counts_list)

ผลลัพธ์ของ code cell ก่อนหน้า

ให้เราสร้างรายการผลลัพธ์ที่เป็นไปได้และรวม counts ของแต่ละสถานะจากแต่ละ Circuit ทั้งสามเพื่อได้ความน่าจะเป็นโดยรวม

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))
)

ตอนนี้เราสามารถพิมพ์ counts รวมสำหรับแต่ละผลลัพธ์ และสร้าง histogram

print(total_counts)
plot_histogram(total_counts)
{'00': 7493, '01': 7432, '10': 7605, '11': 7470}

ผลลัพธ์ของ code cell ก่อนหน้า

ตรวจสอบความเข้าใจ

อ่านคำถามด้านล่าง คิดคำตอบ แล้วคลิกสามเหลี่ยมเพื่อเปิดเผยคำตอบ

รูปข้างต้นสอดคล้องกับผลลัพธ์ที่ทำนายโดยตัวแปรซ่อนเร้นและความกำหนดตายตัวหรือไม่? หรือสอดคล้องกับกลศาสตร์ควอนตัมแบบความน่าจะเป็น (และไม่ท้องถิ่น)?

คำตอบ:

สอดคล้องกับกลศาสตร์ควอนตัมแบบความน่าจะเป็นและไม่ท้องถิ่น การปฏิบัติตัวแปรซ่อนเร้นทำนายว่าความน่าจะเป็นของการได้เครื่องหมายเดียวกันน้อยกว่าหรือเท่ากับ 4/9 กลศาสตร์ควอนตัมทำนายความน่าจะเป็น 50% Histogram ข้างต้นอธิบายความน่าจะเป็นของ 00 หรือ 11 เท่ากับ 49.97% ซึ่งใกล้เคียงมากกับการทำนายของกลศาสตร์ควอนตัมแบบความน่าจะเป็น แต่ที่สำคัญที่สุด มันมากกว่าช่วงที่อนุญาตในการปฏิบัติตัวแปรซ่อนเร้น

สิ่งนี้พิสูจน์อะไรเกี่ยวกับธรรมชาติหรือไม่?

คำตอบ:

ไม่! เราใช้ simulator! นั่นคือคอมพิวเตอร์ที่โปรแกรมให้ทำงานตามกฎของกลศาสตร์ควอนตัมแบบความน่าจะเป็น ถ้าเราเสนอกฎ แล้วโปรแกรมคอมพิวเตอร์ให้ทำตามกฎนั้น ความสามารถในการทำตามกฎไม่ใช่หลักฐานว่ากฎนั้นถูกต้อง! วิธีเดียวที่จะพิสูจน์ได้คือการใช้คอมพิวเตอร์ควอนตัมจริง!

ขั้นตอนที่ 2: ปรับปรุง Circuit ควอนตัมของคุณสำหรับการรันบน hardware จริง

แม้เราใช้ simulator เพื่อดีบัก code ในตอนแรก เราต้องการรันบน hardware จริง ท้ายที่สุดแล้ว simulator เป็นเพียงแค่การแกล้งทำเป็นว่ามีกลศาสตร์ควอนตัม ตามสมการข้างต้น ถ้า simulator บอกเราว่าสมการเหล่านั้นถูกต้อง นั่นจะไม่ช่วยให้เราเชื่อมากนัก เราต้องการให้คอมพิวเตอร์ควอนตัมจริงบอกเราว่าเกิดอะไรขึ้น! ดังนั้นเราจะเลือกคอมพิวเตอร์ควอนตัมที่ต้องการใช้ บางครั้งอาจสำคัญที่จะเลือกอุปกรณ์เฉพาะที่มีคุณสมบัติที่คุณต้องการ แต่บ่อยครั้งเราแค่ต้องการใช้อุปกรณ์ที่ไม่ยุ่งที่สุด

มี code ด้านล่างสำหรับบันทึก credentials ในการใช้งานครั้งแรก ต้องแน่ใจว่าลบข้อมูลนี้ออกจาก notebook หลังจากบันทึกไปยังสภาพแวดล้อมของคุณแล้ว เพื่อให้ credentials ของคุณไม่ถูกแชร์โดยบังเอิญเมื่อแชร์ notebook ดู ตั้งค่าบัญชี 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")

ผลลัพธ์ของ code cell ก่อนหน้า

ขั้นตอนที่ 3: รันงานบนคอมพิวเตอร์ควอนตัมของ IBM โดยใช้ Runtime primitives

ตอนนี้เราปรับปรุง Circuit ของเราให้เหมาะสมสำหรับการรันบน hardware ควอนตัมจริง และดีบัก code โดยใช้ simulator แล้ว เราพร้อมที่จะรวบรวมสถิติจากคอมพิวเตอร์ควอนตัมจริง และยุติข้อขัดแย้งระหว่างไอน์สไตน์กับ Born

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)
{'00': 7542, '01': 7503, '10': 7304, '11': 7651}

ผลลัพธ์ของ code cell ก่อนหน้า

# 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_list
[None, None, None]

ขั้นตอนที่ 4: ประมวลผลและวิเคราะห์

ขอถอยหลังสักก้าวและสรุป: โดยใช้การปฏิบัติตัวแปรซ่อนเร้น และแกนที่เหลื่อมกัน 3 แกน เราได้ข้อจำกัดของความน่าจะเป็นที่การวัดจะให้เครื่องหมายเดียวกัน Psame,hv=4/9P_{same,hv} =4/9 จากนั้นเราสมมติการกระจายความน่าจะเป็นตามกลศาสตร์ควอนตัมและได้ ค่าต่างออกไป สำหรับความน่าจะเป็นนั้น: Psame,gm=1/2P_{same,gm} = 1/2 การทำนายจากกลศาสตร์ควอนตัมสูงกว่าที่ตัวแปรซ่อนเร้นอนุญาต ดังนั้นจึงสามารถทราบจากการทดลองได้ว่าสถานะกลศาสตร์ควอนตัมถูกกำหนดโดยธรรมชาติก่อนการวัดหรือไม่ หรือว่ามันอยู่ใน superposition แบบความน่าจะเป็นของสถานะที่เป็นไปได้อย่างแท้จริง

เราออกแบบ Circuit ควอนตัมของเราให้มีผลลัพธ์ที่เป็นไปได้สี่อย่างสอดคล้องกับ Lucas และ Rihanna ที่วัดเครื่องหมายหนึ่งของการฉายสปินหรืออีกเครื่องหมาย: 00, 01, 10 และ 11 ในกรณีของ 00 และ 11 Lucas และ Rihanna วัดเครื่องหมายเดียวกัน และในกรณีของ 01 และ 10 พวกเขาวัดเครื่องหมายตรงข้าม เราเห็นว่าโดยประมาณที่ดีมาก โอกาสที่ Lucas และ Rihanna จะได้เครื่องหมายเดียวกันอยู่ที่ประมาณ 50% ซึ่งมากกว่า 4/94/9 อย่างแน่นอน ซึ่งหมายความว่าไม่มีชุดของตัวแปรซ่อนเร้นที่สามารถอธิบายการกระจายความน่าจะเป็นนั้นได้ และการปฏิบัติตัวแปรซ่อนเร้นไม่สอดคล้องกับการทดลอง

มีการตีความผลการทดลองกลศาสตร์ควอนตัมต่างกันออกไป และมีความละเอียดอ่อนมากมายในการตั้งค่าการทดลองที่มีการทบทวนเป็นระยะ ๆ แต่จนถึงตอนนี้ หลักการของกลศาสตร์ควอนตัมและการตีความความน่าจะเป็นของสถานะควอนตัมได้อธิบายผลลัพธ์ได้อย่างแม่นยำ Max Born ดูเหมือนจะถูกต้อง

ขอใช้เวลาสักครู่เพื่อสะท้อนถึงความสำคัญของสิ่งนี้ อนุภาคสองตัวออกมาจากเหตุการณ์การสลายตัว และอนุภาคสองตัวเดินทางในทิศทางต่างกัน อาจนานมาก สปินของพวกมันไม่อยู่ในสถานะที่กำหนดไว้ใด ๆ และพวกมันไม่ได้พกคำสั่งตัวแปรซ่อนเร้นติดตัวไปเพื่อกำหนดผลลัพธ์ของการวัดในอนาคต แต่การวัดของตัวหนึ่ง (ตาม เช่น +z+z) จำเป็นต้องกำหนดผลลัพธ์ของการทดลองบนสปินของอนุภาคอีกตัวตามทิศทาง zz (ต้องเป็น z-z) ซึ่งหมายความว่าบางอย่างเกี่ยวกับฟิสิกส์ของอนุภาคตัวหนึ่งถูกกำหนดโดยสิ่งที่ทำกับอนุภาคอีกตัว ซึ่งอาจอยู่ห่างออกไป นี่คือสถานการณ์หนึ่งที่ทำให้ผู้คนอ้างถึงความเป็นจริงว่าเป็น "ไม่ท้องถิ่น"

อนุภาคสองตัวอย่างที่เราอธิบายมาตลอดนั้น "เชื่อมต่อกัน" ในความหมายที่ว่าการวัดบนตัวหนึ่งสามารถส่งผลต่ออีกตัว เราเรียกอนุภาคดังกล่าวว่า "พัวพัน" (entangled) Entanglement มากกว่าแค่ความสัมพันธ์ ตัวอย่างเช่น เราสามารถสร้างเครื่องจักรคลาสสิกที่พ่นแม่เหล็กไปทางหนึ่งโดยขั้วเหนือชี้ขึ้นและแม่เหล็กไปอีกทางโดยขั้วเหนือชี้ลง แม่เหล็กดังกล่าวสามารถต่อต้านกันได้อย่างสมบูรณ์แบบ แต่การวัดตัวหนึ่งจะไม่ทำอะไรกับอีกตัว ใน entanglement ของกลศาสตร์ควอนตัม อนุภาค A สามารถอยู่ในสถานะที่ไม่ได้กำหนด (หรือ mixture ของหลายสถานะ) และเราสามารถกำหนดให้มันอยู่ในสถานะที่กำหนดผ่านการวัดบนอนุภาคที่ต่างกันโดยสิ้นเชิง (เช่น B) ไม่มีอะไรแบบนั้นในโลกคลาสสิก

สิ่งนี้มักจะก่อให้เกิดคำถามและความเป็นไปได้ใหม่ทั้งโลก แนวคิดบางอย่างที่มันชวนนึกถึงนั้นเป็นความจริง เช่น การใช้ entanglement เพื่อคำนวณ อย่างในคอมพิวเตอร์ควอนตัม! บางอย่างดึงดูดใจอย่างหลอกลวง แต่กลับล้มเหลว เช่น การพยายามใช้ entanglement เพื่อส่งข้อมูลเร็วกว่าแสง เราขอแนะนำให้ถามคำถามทั้งหมดที่เกิดขึ้นกับคุณ และอ่านว่าคนอื่นสืบสวนปรากฏการณ์เหล่านี้อย่างไร มีโลกทั้งใบของกลศาสตร์ควอนตัมรออยู่ให้สำรวจ แต่นี่คือแหล่งข้อมูลบางส่วนที่คุณอาจตรวจสอบได้:

หลักสูตร IBM Quantum:

เอกสารกลศาสตร์ควอนตัมที่น่าสนใจ:

แหล่งทรัพยากรการสอนกลศาสตร์ควอนตัม:

การวิจัยทางการศึกษากลศาสตร์ควอนตัม:

คำถาม

ผู้สอนสามารถขอเวอร์ชันของ notebook เหล่านี้พร้อมเฉลยและคำแนะนำเกี่ยวกับการวางในหลักสูตรทั่วไปโดยกรอก แบบสำรวจสั้น ๆ นี้เกี่ยวกับวิธีการใช้ notebook

แนวคิดสำคัญ:

  • มีข้อขัดแย้งทางประวัติศาสตร์ว่าสถานะควอนตัมเป็นเพียงแค่ไม่ทราบหรือยังไม่ได้ถูกกำหนดโดยธรรมชาติก่อนการวัด ว่ากลศาสตร์ควอนตัมมีความกำหนดตายตัวหรือแบบความน่าจะเป็น
  • ตัวแปรซ่อนเร้นและดังนั้น local realism ไม่สอดคล้องกับการสังเกตของกลศาสตร์ควอนตัม กล่าวคือ ความสัมพันธ์ที่สังเกตได้ในกลศาสตร์ควอนตัมไม่สามารถอธิบายได้ด้วยตัวแปรที่กำหนดไว้ซึ่งเราเพียงไม่รู้เท่านั้น
  • กลศาสตร์ควอนตัมมีความน่าจะเป็น
  • Entanglement เป็นจริงและสังเกตได้
  • Entanglement ไม่ใช่แค่ความสัมพันธ์
  • เราสามารถแมปสถานการณ์ในโลกจริงกับคอมพิวเตอร์ควอนตัมได้
  • ตัวแปรซ่อนเร้นหมายถึงปริมาณที่ถูกระบุโดยธรรมชาติแต่ไม่เป็นที่รู้จักของมนุษย์ ไม่มีในบริบทนี้

คำถาม T/F:

  1. T/F Albert Einstein โต้แย้งว่ากลศาสตร์ควอนตัมไม่สมบูรณ์ในฐานะทฤษฎี เพราะมันอธิบายเฉพาะความน่าจะเป็นของผลลัพธ์ ไม่ใช่กลไกพื้นฐานที่กำหนดผลลัพธ์เหล่านั้น
  2. T/F "ตัวแปรซ่อนเร้น" หมายถึงแนวคิดที่ว่าอนุภาคกลศาสตร์ควอนตัมสองอนุภาคสามารถพัวพันกันได้
  3. T/F ระบบสัมพันธ์กันสองระบบใด ๆ จะพัวพันกันในทางกลศาสตร์ควอนตัม
  4. T/F Entanglement ของกลศาสตร์ควอนตัมสำคัญสำหรับการทำคณิตศาสตร์ให้ถูกต้อง แต่คุณไม่สามารถเห็นมันในการทดลองได้
  5. T/F ในกรณีส่วนใหญ่ กลศาสตร์ควอนตัมไม่สามารถบอกผลลัพธ์ที่แน่นอนของการทดลองได้ มีแค่ความน่าจะเป็นที่ผลลัพธ์บางอย่างจะถูกวัด
  6. T/F ในกลศาสตร์ควอนตัม ภายใต้เงื่อนไขบางอย่าง สถานะของอนุภาค A สามารถได้รับผลกระทบจากสถานะของอนุภาค B แม้ว่าอนุภาค A และ B จะไม่ได้สัมผัสกันและไม่แลกเปลี่ยนอนุภาคใด ๆ
  7. T/F เราสามารถแมปการทดลองในโลกจริงกับ Circuit ควอนตัมได้

คำถาม MC:

  1. สมมติว่าอนุภาคสปิน-0 สลายตัวเป็นอนุภาคสปิน-1/2 สองตัว A และ B ทำการวัดบนอนุภาค A ที่เผยว่าสปินของมันมีการฉายตาม +z+z ตอนนี้อนุภาค B

    • a. แน่นอนว่ามีการฉายสปินตาม z-z
    • b. แน่นอนว่ามีการฉายสปินตาม x-x
    • c. แน่นอนว่ามีการฉายสปินตาม y-y
    • d. แน่นอนว่ามีการฉายสปินเป็นลบตามแกนที่วัด
  2. อนุภาคสปิน-0 สลายตัวเป็นอนุภาคสปิน-1/2 สองตัว A และ B ถ้าอนุภาค A วัดได้ว่ามีการฉายตาม +z+z การฉายใดต่อไปนี้เป็นไปได้สำหรับการวัดอนุภาค B? เลือกทั้งหมดที่ใช้ได้

    • a. +x+x
    • b. x-x
    • c. +y+y
    • d. y-y
    • e. +z+z
    • f. z-z
  3. สมมติว่าอนุภาคสปิน-0 สลายตัวเป็นอนุภาคสปิน-1/2 สองตัว A และ B อะไรอธิบายสถานะของอนุภาค A ได้ดีที่สุดก่อนการวัดใด ๆ

    • a. สปินของอนุภาค A อยู่ตาม +z+z
    • b. สปินของอนุภาค A อยู่ตาม z-z
    • c. สปินของอนุภาค A อยู่ตาม +x+x
    • d. ทิศทางสปินของอนุภาค A ถูกกำหนดตามบางทิศทาง แต่ไม่ใช่ทุกทิศทาง
    • e. ทิศทางสปินของอนุภาค A ยังไม่ได้ถูกกำหนดโดยธรรมชาติก่อนการวัดใด ๆ
  4. ข้อใดต่อไปนี้เป็นจริงของ Gate Hadamard? เลือกทั้งหมดที่ใช้ได้

    • a. H0=12(0+1)H|0\rangle = \frac{1}{\sqrt{2}}(|0\rangle+|1\rangle)
    • b. H0=12(01)H|0\rangle = \frac{1}{\sqrt{2}}(|0\rangle-|1\rangle)
    • c. H12(01)=0H \frac{1}{\sqrt{2}}(|0\rangle-|1\rangle)=|0\rangle
    • d. H12(0+1)=0H \frac{1}{\sqrt{2}}(|0\rangle+|1\rangle)=|0\rangle
  5. ข้อใดต่อไปนี้เป็นจริงของ Gate X? เลือกทั้งหมดที่ใช้ได้

    • a. X0=1X|0\rangle = |1\rangle
    • b. X0=12(01)X|0\rangle = \frac{1}{\sqrt{2}}(|0\rangle-|1\rangle)
    • c. X0=0X|0\rangle = -|0\rangle
    • d. X1=0X|1\rangle = |0\rangle
    • e. X12(01)=X12(10)X\frac{1}{\sqrt{2}}(|0\rangle-|1\rangle)=X\frac{1}{\sqrt{2}}(|1\rangle-|0\rangle)
  6. ข้อใดต่อไปนี้คือ Gate สอง Qubit?

    • a. X
    • b. Ry(θ)R_y(\theta)
    • c. H
    • d. CNOT
  7. สมมติว่า Qubit อยู่ในสถานะ 0|0\rangle ความน่าจะเป็นที่จะวัดได้ว่าอยู่ในสถานะ 11\rangle คือเท่าใด?

    • a. 100% แน่นอนบน simulator ที่ไม่มี noise ใกล้ 100% บนคอมพิวเตอร์ควอนตัมจริง
    • b. ใกล้ 100% บน simulator ที่ไม่มี noise, 100% แน่นอนบนคอมพิวเตอร์ควอนตัมจริง
    • c. 0% แน่นอนบน simulator ที่ไม่มี noise ใกล้ 0% บนคอมพิวเตอร์ควอนตัมจริง
    • d. ใกล้ 0% บน simulator ที่ไม่มี noise, 0% แน่นอนบนคอมพิวเตอร์ควอนตัมจริง

คำถามอภิปราย:

  1. เพื่อน A, B และ C กำลังอภิปรายผลลัพธ์จากปฏิบัติการนี้ที่เกี่ยวข้องกับอสมการของเบลล์ โดยเฉพาะอย่างยิ่ง พวกเขากำลังดูรูปที่แสดงว่าความน่าจะเป็นกลศาสตร์ควอนตัมของการวัดเครื่องหมายเดียวกันตามแกนสูงกว่าที่อนุญาตโดยการปฏิบัติตัวแปรซ่อนเร้น: (Psame)max,QM>(Psame)max,HV(P_\text{same})_\text{max,QM}>(P_\text{same})_\text{max,HV} เพื่อน A พูดว่า "ซึ่งหมายความว่าเราไม่ทราบสถานะสปินก่อนการวัด" เพื่อน B พูดว่า "ไม่ มันมากกว่านั้น ซึ่งหมายความว่าสปินไม่ได้ชี้ในทิศทางใดทิศทางหนึ่งอยู่แล้วก่อนการวัด แม้ว่าสถานะสปินอาจถูกกำหนดหรือเก็บบางวิธี" เพื่อน C พูดว่า "ไม่ มันมากกว่านั้นอีก ซึ่งหมายความว่าสถานะสปินในอนาคตยังไม่ได้ถูกกำหนดโดยธรรมชาติก่อนการวัด" คุณเห็นด้วยกับใคร และเพราะอะไร?

  2. อธิบายว่าปรากฏการณ์กลศาสตร์ควอนตัมอย่าง entanglement บ่งชี้อย่างไรว่าความเป็นจริงไม่ท้องถิ่น

  3. คุณต้องการทำการทดลองเพิ่มเติมอะไรเพื่อให้เชื่อมั่นในผลลัพธ์ที่ได้ที่นี่?

  4. อสมการของเบลล์สามารถสำรวจได้เฉพาะกับแกนที่เว้นระยะเท่ากัน 3 แกน aa, bb และ cc เท่านั้นหรือ? สามารถทำกับจำนวนแกนอื่น ๆ ได้หรือไม่? จะมีลักษณะอย่างไร? จะยังให้ความแตกต่างในความน่าจะเป็นที่ทำนายโดยตัวแปรซ่อนเร้นเทียบกับกลศาสตร์ควอนตัมแบบความน่าจะเป็นหรือไม่?

Source: IBM Quantum docs — updated 17 เม.ย. 2569
English version on doQumentation — updated 7 พ.ค. 2569
This translation based on the English version of approx. 26 มี.ค. 2569