Qiskit Bosons
qiskit-bosons ขยาย Qiskit SDK ด้วยเครื่องมือสำหรับทำงานกับระบบโบซอน ภายในขอบเขตของมัน มีสิ่งต่อไปนี้:
-
โครงสร้างข้อมูลที่มีประสิทธิภาพสำหรับการแสดงและจัดการ operator แบบโบซอน
-
เฟรมเวิร์กสำหรับการสร้างการเข้ารหัส boson-to-qubit ที่สร้างขึ้นบนการเข้ารหัสระดับที่ใช้ร่วมกัน (unary แบบมีหรือไม่มี projector, binary มาตรฐาน, Gray) และไลบรารีของ mapper ที่ใช้บ่อย
-
เฟรมเวิร์กและไลบรารีของ gate สำหรับแสดง circuit แบบโบซอน
-
pipeline การ transpile ที่รวมเข้ากับกระบวนการ transpiler ของ Qiskit เพื่อสังเคราะห์ circuit แบบโบซอนเป็น circuit ที่ใช้ qubit
เริ่มต้นใช้งาน
แพ็กเกจนี้ครอบคลุมเส้นทางทั้งหมดตั้งแต่ operator แบบโบซอนไปจนถึง circuit ของ qubit คุณสามารถทำงานในระบบโบซอนได้ทั้งในรูปแบบ operator และ circuit ก่อนที่จะเลือกการตัดทอนและการเข้ารหัส boson-to-qubit ที่เสียบเข้ากับ pipeline transpiler แบบหลายการแสดงของ Qiskit
ฟีเจอร์เหล่านี้ทั้งหมดอธิบายไว้ในคู่มือหลายฉบับเพื่อช่วยให้คุณเริ่มต้นได้ หากต้องการภาพรวมแบบครบวงจร ให้เริ่มจากคู่มือ Bose-Hubbard
การอภิปรายเชิงเทคนิค
เจตนารมณ์ในการออกแบบ
แพ็กเกจนี้ถูกออกแบบมาโดยตั้งใจให้สอดคล้องกับ Qiskit: สร้างบนแกนที่เขียนด้วย Rust และมี language binding ทางการสำหรับ Python API ของมันตั้งใจเทียบเคียงกับ Qiskit เพื่อผสานเข้ากับเวิร์กโฟลว์ของผู้ใช้ที่มีประสบการณ์เขียนโปรแกรม Qiskit ได้อย่างราบรื่น แม้ตอนนี้ยังไม่มี C API แต่สถาปัตยกรรมถูกวางไว้เพื่อรองรับหากมีความจำเป็นในอนาคต สถาปัตยกรรมของแพ็กเกจนี้ยังถูกออกแบบให้คล้ายกับ qiskit-fermions โดยตั้งใจ
หลักการสำคัญในการออกแบบ qiskit-bosons คือการแยกการแสดง circuit แบบโบซอนออกจากรูปแบบที่เป็น qubit ให้ชัดเจนกว่านั้น: circuit แบบโบซอนมีความหมายในตัวเองและไม่ต้องแมปไปยัง qubit space เพื่อให้ตีความได้ นอกจากนี้ การแสดง circuit แบบโบซอนต้องไม่สมมติอะไรเกี่ยวกับการตัดทอนและการเข้ารหัส boson-to-qubit ที่ใช้ภายหลัง ทั้งสองอย่างเข้ามาเฉพาะตอน transpile เท่านั้น
นโยบายการเลิกใช้
เราใช้ semantic versioning และยึดตามหลักการในนโยบายการเลิกใช้ของ Qiskit บางครั้งเราอาจทำการเปลี่ยนแปลงที่ทำให้เข้ากันไม่ได้เพื่อปรับปรุงประสบการณ์ผู้ใช้ เมื่อเป็นไปได้ เราจะเก็บอินเทอร์เฟซเก่าไว้และทำเครื่องหมายว่าเลิกใช้ ตราบที่มันอยู่ร่วมกับของใหม่ได้ การปรับปรุงที่สำคัญ การเปลี่ยนแปลงที่ทำให้เข้ากันไม่ได้ หรือการเลิกใช้แต่ละรายการจะถูกบันทึกไว้ในrelease notes
การมีส่วนร่วม
ซอร์สโค้ดมีอยู่บน GitHub
คู่มือนักพัฒนาอยู่ที่ CONTRIBUTING.md ในรากของ repository ของโปรเจกต์นี้ เมื่อเข้าร่วม คุณคาดว่าจะยึดถือจรรยาบรรณของ Qiskit
เราใช้ GitHub issues เพื่อติดตามคำขอและบั๊ก
การอ้างอิงแพ็กเกจนี้
หากคุณใช้แพ็กเกจนี้ในงานวิจัย ให้ใช้ไฟล์ CITATION.bib ใน repository ของโปรเจกต์นี้เพื่ออ้างอิงเอกสารที่เหมาะสม