คุณสามารถทำให้ปัญหา "สร้างสถานะ" ง่ายขึ้นโดยแบ่งเป็นสามส่วน:
- เตรียมชุดของขนาดที่คุณต้องการโดยไม่ต้องกังวลเกี่ยวกับเฟสหรือสถานะที่มีขนาดใด
- แก้ไขขั้นตอน
- แก้ไขการสั่งซื้อ
ตอนนี้ให้พิจารณารัฐ Hardy ขนาดที่เราต้องทำคืออะไร เราต้องการหนึ่งตัวอย่างของ3/12−−√ และอินสแตนซ์สามอินสแตนซ์ของ 1/12−−√. เราสามารถทำให้พวกเขาทีละครั้งโดยมีสถานะ "เหลือแอมพลิจูด" ที่เราแยกออกจาก
เราเริ่มต้นด้วยแอมพลิจูดทั้งหมดในสถานะเดียวด้วยการกระตุ้นทางด้านซ้าย ℓ0|1000...00⟩ ที่ไหน ℓ0=1. สิ่งที่เราต้องการจะทำคือเลื่อนการกระตุ้นไปทางขวาในขณะที่ทิ้งขนาดที่ต้องการ เพื่อเริ่มต้นเราต้องการทิ้งความสำคัญไว้3/12−−√. เราสามารถทำได้ด้วยการควบคุมRy(θ0)การดำเนินการโดยที่การควบคุมคือ qubit ซ้ายสุดและเป้าหมายคือ qubit ทางด้านขวา เพียงแค่เลือกค่าที่เหมาะสมสำหรับθสิ่งนี้จะส่งผลให้รัฐ 3/12−−√|1000...00⟩+ℓ1|1100...00⟩. จากนั้นเรา CNOT ควอตที่สองกลับสู่ควิปแรกเพื่อไปℓ1|1000...00⟩+3/12−−√|0100...00⟩. ต่อไปเราต้องการดึงออก1/12−−√. เราทำอีกอย่างRyควบคุมโดย qubit ซ้ายสุดตามด้วย CNOT ย้อนหลัง แต่คราวนี้กับเป้าหมายคือ qubit ที่สามจากทางซ้าย โดยการเลือกที่สมบูรณ์แบบθ1 เราจะผลิตรัฐ ℓ2|1000...00⟩+3/12−−√|0100...00⟩+1/12−−√ℓ2|0010...00⟩. และคุณก็ทำเช่นนี้ต่อไปจนกว่าคุณจะได้รับแอมพลิจูดทั้งหมดที่คุณต้องการโดยพูดได้อย่างสบายโดย qubits ที่ตื่นเต้น
ตอนนี้คุณต้องการแก้ไขเฟสที่ไม่ถูกต้องที่เกิดจากการหมุน Y สำหรับสถานะ Hardy นี่เป็นเรื่องง่ายเพราะทุกขั้นตอนเป็นบวก โดยทั่วไปคุณกำหนดเป้าหมายแต่ละตำแหน่งk ด้วย Rz(ϕk) การดำเนินการกับการเลือกอย่างเหมาะสม ϕk ค่าและนั่นจะทำให้เฟสนั้นถูกต้อง
ตอนนี้เราต้องการรับการสั่งซื้อที่ถูกต้อง วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการมี qubits พิเศษบางอย่างที่เป็น qubits ของคุณและสำหรับแต่ละ qubits ที่เราได้เตรียมไว้จนถึงตอนนี้และแต่ละ qubits ที่เพิ่ม CNOT ระหว่างสองหรือไม่ ตัวอย่างเช่นถ้ารัฐที่มีความกว้าง3/12−−√ ควรจะเป็น |11⟩แล้วเราต้อง CNOT จาก qubit ซ้ายสุดของเราไปยัง qubits ผลลัพธ์ทั้งสอง จากนั้นเราจำเป็นต้องเลิกคำนวณ qubit ซ้ายสุดโดยใช้การดำเนินการ NOT ที่ควบคุมไม่ได้มากมาย ควรมีการควบคุมหนึ่งรายการสำหรับแต่ละ qubit เอาต์พุตและประเภทของตัวควบคุม (qubit-must-be-on เทียบกับ qubit-must-be-off) จะถูกกำหนดโดยไม่ว่าคุณจะเปิดใช้งาน qubit หรือไม่
การใช้ขั้นตอนเหล่านี้ทำให้เกิดวงจรที่ไม่มีประสิทธิภาพ แต่ถูกต้องสำหรับการสร้างสถานะ Hardy คุณสามารถเปิดวงจรใน Quirk :
หากคุณต้องการสร้างสถานะโดยไม่ต้องใช้พื้นที่ทำงานมากงานก็จะยากขึ้น แต่คุณยังสามารถติดตามขนาดจากนั้นขั้นตอนจากนั้นสั่งซื้อรูปแบบ นอกจากนี้ยังมีวิธีที่ชาญฉลาดในการเตรียมชุดขนาดที่มีรูปแบบที่ดี ตัวอย่างเช่นเมื่อแอมพลิจูดเพียงอันเดียวแตกต่างจากแอมพลิจูดอื่นการขยายแอมพลิจูดบางส่วนรอบหนึ่งอาจเพียงพอที่จะเตรียมรัฐ