A A A ϵ O ( บันทึกc 1∥A∥AAϵc<4
O(logc1ϵ)
c<4
สำหรับส่วนแรก:
การประมาณแนะนำข้อผิดพลาดซึ่งจะแพร่กระจายและสะสมในการคำนวณที่ยาวนาน
มันสามารถแสดงให้เห็นได้โดยการเหนี่ยวนำว่าข้อผิดพลาดที่สะสมผ่านการใช้เมทริกซ์หนึ่งไปประมาณอีกอันหนึ่งเป็นแบบ subadditive (ดูตัวอย่างเช่นบันทึกการบรรยายของ Andrew Child ) นั่นคือสำหรับการฝึกอบรมรวมและ ,เสื้อV ฉัน‖ U ฉัน - V ฉัน ‖ < εUiVi∥Ui−Vi∥<ϵ∀i∈{1,2,…,t}⟹∥Ut…U2U1−Vt…V2V1∥≤tϵ
สิ่งนี้หมายความว่าในแง่ของการดำเนินการคือเพื่อให้เกิดข้อผิดพลาดโดยรวมไม่เกินที่จะบรรลุแต่ละประตูจะต้องประมาณภายในหรือϵ / tϵϵ/t
ใช้การประมาณกับวงจรโดยรวม
เหมือนกับการใช้การประมาณกับแต่ละเกทแต่ละอันแต่ละอันมีข้อผิดพลาดไม่เกินกว่าของวงจรทั้งหมดหารด้วยจำนวนประตูที่คุณประมาณ
ในแง่ของการสังเคราะห์เกทอัลกอริธึมจะดำเนินการโดยการนำผลิตภัณฑ์ของชุดประตูมาสร้างเกทใหม่ซึ่งเป็นรูปแบบสุทธิสำหรับ (สำหรับ ใด ๆ ) เริ่มต้นจากตัวตนรวมกันใหม่ถูกค้นพบซ้ำจากชุดประตูใหม่เพื่อให้ได้รอบสุทธิที่แน่นขึ้นรวมกันเป็นเป้าหมาย ผิดปกติพอเวลาสำหรับอัลกอริทึมแบบดั้งเดิมเพื่อดำเนินการนี้ก็คือซึ่งเป็นเวลาพหุนามย่อย อย่างไรก็ตามตามΓΓ0ϵ2SU(d)A∈SU(d),∃U∈Γ0s.t.∥A−U∥≤ϵ2O(polylog1/ϵ)Harrow, Recht, Chuangใน dimensions ราวกับลูกบอลรัศมีรอบมีปริมาตรเครื่องชั่งนี้อธิบายแบบทวีคูณ ในสำหรับจำนวนมิติที่ไม่คงที่dϵSU(d)∝ϵd2−1d2
สิ่งนี้จะมีผลกับเวลาการคำนวณขั้นสุดท้าย อย่างไรก็ตามเนื่องจากการปรับขนาดทั้งจำนวนประตูและความซับซ้อนในการคำนวณแบบดั้งเดิมนั้นเป็นพหุนามย่อยจึงไม่เปลี่ยนคลาสความซับซ้อนของอัลกอริทึมใด ๆ อย่างน้อยสำหรับคลาสที่พิจารณาโดยทั่วไป
สำหรับประตูโดยรวม (เวลาและประตู) ความซับซ้อนเป็นแล้วt ขวา)
O(tpolylogtϵ)
เมื่อใช้โมเดลวงจรรวมที่ไม่มีการวัดค่าตัวกลางจะรู้จำนวนของประตูที่จะนำไปใช้ก่อนการคำนวณเสมอ อย่างไรก็ตามมันเป็นไปได้ที่จะสมมติว่านี่ไม่ใช่กรณีที่มีการใช้การวัดค่าตัวกลางดังนั้นเมื่อไม่ทราบจำนวนประตูที่คุณต้องการประมาณจำนวนนี้จะบอกว่าเป็นที่รู้จัก และถ้าคุณไม่ได้รู้ว่าสิ่งคือคุณสามารถเห็นได้ชัดไม่ได้ใกล้เคียงกับประตูแต่ละข้อผิดพลาดตัน หากคุณรู้ขอบเขตของจำนวนประตู (พูด, ) คุณสามารถประมาณแต่ละช่องประตูภายในเพื่อรับข้อผิดพลาดโดยรวมttϵ/ttmaxϵ/tmax≤ϵและความซับซ้อนแม้ว่าจะไม่มีขอบเขตบน ประตูเป็นที่รู้จักกันแล้วแต่ละประตูจะประมาณ (เล็ก)บางคนทำให้เกิดข้อผิดพลาดโดยรวมสำหรับจำนวนประตูที่นำไปใช้ (ซึ่งเป็นที่รู้จักในตอนเริ่ม)ด้วย ความซับซ้อนโดยรวมของ
O(tpolylogtmaxϵ),
ϵ′≤t′ϵt′O(t′polylog1ϵ′).
แน่นอนว่าข้อผิดพลาดทั้งหมดนี้คือยังคงมากมายดังนั้นหนึ่งง่าย1วิธีในการรักษาข้อผิดพลาดที่สิ้นสุดจะลดความผิดพลาดในแต่ละครั้งโดยปัจจัยที่พูด,เพื่อให้ประตูจะเป็น ดำเนินการกับข้อผิดพลาด n ความซับซ้อนนั้นจะเป็นทำให้ความซับซ้อนโดยรวม (ตอนนี้พหุนาม)ถึงแม้นี่จะไม่ได้ประโยชน์จากการรับประกันความผิดพลาดล้อมรอบ2nthϵ/2nO(poly
O(polylog2nϵ′)=O(polynlog1ϵ′),
O(polytlog1ϵ),
นี่ไม่ได้เลวร้ายเกินไปดังนั้นฉันหวังว่า (เมื่อไม่ทราบจำนวนประตู) คอมพิวเตอร์คลาสสิคจะสามารถมากับประตูที่ถูกต้องอย่างน้อยก็เร็วเท่าที่ตัวประมวลผลควอนตัมต้องการ ถ้าไม่ใช่ตอนนี้หวังว่าเมื่อตัวประมวลผลควอนตัมดีพอที่จริงกลายเป็นปัญหา!
1 แม้ว่าจะไม่ได้มีประสิทธิภาพมากที่สุด