ฉันมาจากพื้นหลังที่ไม่ใช่วิชาฟิสิกส์และฉันสนใจที่จะติดตาม Quantum Computing โดยเฉพาะอย่างยิ่งวิธีการเขียนโปรแกรม คำแนะนำเกี่ยวกับวิธีการเริ่มต้นจะมีประโยชน์มาก
ฉันมาจากพื้นหลังที่ไม่ใช่วิชาฟิสิกส์และฉันสนใจที่จะติดตาม Quantum Computing โดยเฉพาะอย่างยิ่งวิธีการเขียนโปรแกรม คำแนะนำเกี่ยวกับวิธีการเริ่มต้นจะมีประโยชน์มาก
คำตอบ:
คุณสามารถเริ่มต้นด้วยการแนะนำเกี่ยวกับคอมพิวเตอร์ควอนตัมเช่นVoxxed Days Vienna 2018 - มันมีไว้สำหรับผู้ที่มีพื้นฐานการเขียนโปรแกรม แต่ไม่มีความรู้พื้นฐานในกลศาสตร์ควอนตัมมาก่อน หลังจากนั้นคุณสามารถตรวจสอบคำแนะนำในIBM ควอนตัมประสบการณ์หรือผู้ที่สำหรับDevelopment Kit
นอกจากนั้นยังมีวิดีโอมากมายบน YouTube ที่สามารถช่วยให้คุณเข้าใจหัวข้อได้ลึกซึ้งยิ่งขึ้น
ฉันคิดว่าโปรแกรมเมอร์ควอนตัมไม่จำเป็นต้องรู้เกี่ยวกับฟิสิกส์ควอนตัมและพีชคณิตเชิงเส้น สิ่งเหล่านี้เป็นสิ่งที่จะช่วยเพิ่มพูนความรู้ของโปรแกรมเมอร์ควอนตัม แต่ไม่ควรพิจารณาว่าเป็นสิ่งที่จำเป็นต้องมี
ถึงกระนั้นทรัพยากรส่วนใหญ่ในการช่วยโปรแกรมเมอร์ควอนตัมรุ่นเริ่มต้นด้วยสมมติฐานของพีชคณิตเชิงเส้น อันที่ไม่เน้น QISKit, SDK สำหรับอุปกรณ์ควอนตัมของ IBM (และบางส่วนเขียนโดยฉัน)
โปรแกรมที่ง่ายที่สุดที่คุณสามารถทำได้คือ“ Hello World” คุณจะทำอย่างนั้นกับคอมพิวเตอร์ควอนตัมได้อย่างไร ข้อเสนอของเราคือการทับซ้อนของอีโมติคอน
เมื่อคุณก้าวไปไกลกว่า“ Hello World” ในการเขียนโปรแกรมควอนตัมคุณจะต้องทำอะไรที่ซับซ้อนกว่านี้ บ่อยครั้งที่คนทำเกมง่ายๆ ลองทำกับคอมพิวเตอร์ควอนตัม ฉันทำBattleships
คุณจะพบเหล่านี้และอื่น ๆ อีกมากมายตัวอย่างของการเขียนโปรแกรมควอนตัมที่QISKit กวดวิชา ฉันคิดว่าน่าจะเป็นที่ที่ดีที่สุดสำหรับโปรแกรมเมอร์ควอนตัมใหม่เพื่อดูว่าสามารถทำอะไรได้บ้างและทำอย่างไร
pyQuilเป็นโอเพ่นซอร์สควอนตัมการเขียนโปรแกรมใน Python เอกสารประกอบด้วยมือในการแนะนำการคำนวณควอนตัมที่คุณเรียนรู้โดยการเขียนโปรแกรม มันไม่ถือว่าภูมิหลังทางฟิสิกส์ใด ๆ
นี่คือลิงค์ไปยังหัวข้อหลัก:
ไม่จำเป็นต้องเข้าใจควอนตัมกลศาสตร์อย่างเต็มที่เพื่อทำความเข้าใจทฤษฎีเบื้องหลังการควบคุมคุณภาพ ฉันเป็น BSc / โปรแกรมเมอร์ทางคณิตศาสตร์และฉันอ่านเกี่ยวกับหัวข้อและยังทำหลักสูตร QC edX เก่า (แต่น่าเสียดายที่มันไม่สามารถใช้ได้ แต่มีคนอื่น) ฉันคิดว่าฉันสามารถพูดได้ว่าฉันเข้าใจส่วนสำคัญของ QC แต่ฉันรู้อะไรเกี่ยวกับ Quantum Mechanics
ส่วนสำคัญคือ Quantum Computing ส่วนใหญ่ใช้พีชคณิตเชิงเส้นซึ่งอยู่บนพื้นฐานของคณิตศาสตร์ที่ใช้กันทั่วไปในสาขาวิชาวิศวกรรมศาสตร์ / วิทยาศาสตร์คอมพิวเตอร์ เปรียบเทียบสิ่งนี้กับกลศาสตร์ควอนตัมจริงที่ใช้ช่องว่างมิติไม่สิ้นสุด (หรือการวิเคราะห์การทำงานหากคุณต้องการ)
หากคุณรู้สึกสะดวกสบายกับหัวข้อคณิตศาสตร์ระดับปริญญาตรีเหล่านี้คุณสามารถดูกลไกควอนตัมของ Susskind : ขั้นต่ำตามทฤษฎี - มันไม่ได้เกี่ยวกับกลไกควอนตัม 'จริง' จริง ๆ มันเป็นสิ่งที่มีประโยชน์สำหรับ QC BTW ชุดหนังสือขั้นต่ำตามทฤษฎีทั้งหมดมุ่งเป้าไปที่ผู้ที่รู้คณิตศาสตร์ (เช่นนักวิทยาศาสตร์คอมพิวเตอร์หรือสาขาวิชาวิศวกรรมศาสตร์) และต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับฟิสิกส์ นอกจากนี้ยังมีหลักสูตรออนไลน์อีกมากมายเช่นมีหลักสูตรใหม่ใน edX แต่ฉันไม่ได้ทำหลักสูตรใดเลยดังนั้นฉันจึงไม่แนะนำ
หากคุณต้องการเรียนรู้วิธีการเขียนวงจรควอนตัมในกรอบการเขียนโปรแกรมควอนตัมต่าง ๆ เช่นQ # , pyQuilและQISKitฉันขอแนะนำบทความล่าสุดที่มีชื่อเรื่องการใช้อัลกอริทึม Quantum สำหรับผู้เริ่มต้นจากห้องปฏิบัติการแห่งชาติ Los Alamos เป็นแหล่งข้อมูลที่ยอดเยี่ยมสำหรับการทำความเข้าใจวิธีการรวบรวมและใช้อัลกอริธึมควอนตัมต่าง ๆ รวมถึงออราเคิลและรูทีนย่อยเฉพาะเป็นวงจรควอนตัมกับ IBM Q Experience ฉันขอแนะนำให้คุณใช้มันในกรอบการเขียนโปรแกรมดังกล่าวข้างต้นและเรียนรู้รายละเอียด nitty-gritty ที่คุณไป
คอมพิวเตอร์ควอนตัมถูกตั้งโปรแกรมโดย (การพัฒนาภาษาโปรแกรมแทน) ที่เรียกว่าวงจรควอนตัม นี่คือลำดับของประตูควอนตัมบวกกับข้อมูลที่บิตควอนตัม (qubits) ทำหน้าที่
สิ่งเดียวที่คุณจำเป็นต้องรู้เกี่ยวกับประตูควอนตัมก็คือมันเป็นตัวแทนของการหมุน (ในพื้นที่มิติที่สูงกว่าหรือที่เรียกว่าพื้นที่ฮิลแบร์ต) ดังนั้นพวกเขาจึงย้อนกลับได้: คอมพิวเตอร์ควอนตัมได้รับการโปรแกรมด้วยตรรกะที่ย้อนกลับได้
ประตูควอนตัมหมุนคืออะไร? มันเป็น hyperspheres ที่ผิวสถานะ qubit อาศัยอยู่ แต่ละสถานะของพื้นฐานการคำนวณ ( , , ,สำหรับระบบ 2-qubit ตามปกติ Dirac notation) ได้จำนวนเชิงซ้อนเป็นสัมประสิทธิ์หรือเป็นแอมพลิจูดความน่าจะเป็น เวกเตอร์พื้นฐานเป็นมุมฉากและขยายพื้นที่ฮิลแบร์ตของรัฐความกว้างของความน่าจะเป็นสามารถมองเห็นได้ว่าเป็นพิกัดในนั้น นี่คือภาพที่ประตูควอนตัมหมุนผล คุณจะพบว่านักฟิสิกส์มักจะใช้ภาพที่แตกต่างกันคือทรงกลม Bloch สำหรับระบบ qubit เดียวซึ่งประตูควอนตัมยังทำให้เกิดการหมุน (แต่บางครั้งก็เป็นมุมที่ใหญ่กว่า
ตรรกะทั่วไปทั้งหมดสามารถนำมาใช้โดยคอมพิวเตอร์ควอนตัมโดยการแสดงครั้งแรกในตรรกะย้อนกลับได้ (ซึ่งอาจต้องใช้บิตบิต) ประตูคลาสสิกไม่ตรงกับประตูควอนตัม X แต่แตกต่างจากกรณีคลาสสิกที่ประตูย้อนกลับเพียง 1 บิตเท่านั้นเป็นตัวตนและประตูไม่ได้คอมพิวเตอร์ควอนตัมมีประตูที่สอดคล้องกันสี่ (X, Y, Z ตามการหมุนบน Bloch sphere รวมถึงตัวตน) นอกจากนี้คุณสามารถมีการหมุนที่หมุนเพียงเศษเสี้ยวของการหมุนของประตูเหล่านี้ มีชื่อและตัวย่อพิเศษที่น่าสนใจเป็นพิเศษเช่นประตู Hadamard หรือประตู H ที่สร้างการซ้อนทับที่เท่าเทียมกันในทุกรัฐ
น่าเสียดายที่วิศวกรซอฟต์แวร์ควอนตัมยุคแรกอาจจะต้องรู้เกี่ยวกับฮาร์ดแวร์คอมพิวเตอร์ควอนตัมที่พวกเขาจะใช้: เนื่องจากมุมที่เลือกได้เองตามอำเภอใจและต่อเนื่องของการหมุนที่มีประสิทธิภาพของประตูควอนตัม จำเป็นต้องสร้างข้อผิดพลาด (และคอมพิวเตอร์ควอนตัมทางกายภาพมีแหล่งที่มาของข้อผิดพลาดมากกว่านั้น) มีวิธีจัดการกับมันการแก้ไขข้อผิดพลาดเชิงควอนตัมที่แยกแยะข้อผิดพลาดและแก้ไขการแยกส่วนที่น่าจะเกิดขึ้นเพื่อให้ได้การคำนวณที่ซับซ้อนตามอำเภอใจพร้อมข้อผิดพลาดที่ผูกมัด แต่การปรับให้เหมาะสมน่าจะหมายความว่าคอมพิวเตอร์ควอนตัมหนึ่งตัวที่มีตัวเลือกการแก้ไขข้อผิดพลาดควอนตัมทางเลือกหนึ่งจะมีแนวโน้มที่ประตูควอนตัมหรืออัลกอริธึมมากกว่าเครื่องอื่น