Feynman เป็นชุดเครื่องมือสำหรับการวิเคราะห์วงจรควอนตัมในรูปแบบอินทิกรัลเส้นทางของกลศาสตร์ควอนตัม ชุดเครื่องมือประกอบด้วยวิธีการสังเคราะห์ การเพิ่มประสิทธิภาพ และการตรวจสอบโดยอาศัยการแสดงการทำงานของวงจรเป็นผลรวมบนเส้นทาง
สามารถเชื่อมต่อกับโครงการ Feynman ได้สองวิธี เครื่องมือแบบสแตนด์อโลนที่สร้างขึ้นบน Feynman ซึ่งพบในเครื่องมือ มีอินเทอร์เฟซบรรทัดคำสั่งสำหรับการเพิ่มประสิทธิภาพและ/หรือการตรวจสอบวงจรควอนตัม หรือสามารถนำเข้าไลบรารี Feynman และนำไปใช้โดยตรงในโปรเจ็กต์ Haskell อื่นๆ
โครงการ Feynman ต้องการ GHC >=8.0.2 และ Cabal >=1.24.0 GHC เวอร์ชันเก่าอาจใช้งานได้แต่ยังไม่ได้ทดสอบ
ไลบรารี Feynman และไฟล์ปฏิบัติการไบนารีสำหรับการเพิ่มประสิทธิภาพ ( feynopt
) และการตรวจสอบ ( feynver
) สามารถติดตั้งได้ทั่วโลกด้วย
cabal install
หรือผ่านชุดคำสั่งที่มีความละเอียดมากขึ้นเล็กน้อย
cabal configure
cabal build
cabal install
การพึ่งพานรกเป็นปัญหาทั่วไปใน Haskell ดังนั้น Cabal เวอร์ชันก่อนหน้าจึงมีตัวเลือกในการสร้างแซนด์บ็อกซ์ในเครื่องอย่างชัดเจนซึ่งจะติดตั้งการขึ้นต่อกันของแพ็คเกจโดยไม่ทำให้เกิดปัญหากับแพ็คเกจอื่น หากต้องการติดตั้งการขึ้นต่อกันของ Feynman ในแซนด์บ็อกซ์ ก่อนที่จะสร้างหรือติดตั้ง Feynman ให้รันก่อน
# Cabal 1 & 2
cabal sandbox init
cabal install --only-dependencies
# Cabal 3
cabal v1-sandbox init
cabal install --only-dependencies
ตามค่าเริ่มต้น Cabal จะติดตั้งไบนารีใน ~/cabal/bin/
สำหรับยูนิกซ์บิลด์ หากต้องการระบุโฟลเดอร์อื่น ให้ติดตั้งด้วย
cabal install --installdir=DIR
ปัจจุบัน Feynman มีส่วนหน้าสำหรับ openQASM และ .qc ตัวอย่างของทั้งสองอย่างสามารถพบได้ในโฟลเดอร์การวัดประสิทธิภาพ
หากต้องการรัน Feynman Optimizer feynopt
บนไฟล์ .qc หรือ openQASM ให้ดำเนินการคำสั่ง
feynopt <filename>.(qc | qasm)
feynopt
จะจดจำนามสกุล .qc และ .qasm เป็นไฟล์ .qc และ openQASM โดยอัตโนมัติ ตามลำดับ
สำหรับรายการการปรับให้เหมาะสมและการแปลงที่มีอยู่ทั้งหมด ให้ใช้คำสั่ง
feynopt -h
เครื่องมือไบนารี feynver
ช่วยให้สามารถตรวจสอบความเท่าเทียมกันของไฟล์วงจรที่แยกจากกัน การใช้งานมาตรฐานคือ
feynver <filename1>.qc <filename2>.qc
วงจรอินพุตจะต้องสอดคล้องกับชื่อของอินพุตหลัก (เช่น คิวบิตที่ไม่ได้กำหนดค่าเริ่มต้น) แต่อาจใช้อันซิลลาที่แตกต่างกัน
หมายเหตุ: ขณะนี้ feynver
รองรับเฉพาะส่วนหน้า .qc เท่านั้น
พื้นที่เก็บข้อมูล Feynman มาพร้อมกับชุดการวัดประสิทธิภาพวงจรควอนตัม ที่พบในโฟลเดอร์ benchmarks
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการวัดประสิทธิภาพ ผู้ใช้จะถูกส่งไปยังวิธีการอย่างเป็นทางการในการออกแบบวงจรควอนตัม
ชุดเบนช์มาร์กยังรวมถึงตัวอย่างวงจร openQASM ที่นำมาจากที่เก็บ openQASM github
Feynman คือชุดของอัลกอริธึมและเทคนิคที่ครอบคลุมเอกสารจำนวนหนึ่ง หากคุณต้องการอ้างอิงในรายงานทางวิชาการ เอกสารที่เกี่ยวข้องจะแสดงอยู่ด้านล่าง
แมทธิว เอมี่