การจำลองแบบแฮมิลตันกับค่าสัมประสิทธิ์ที่ซับซ้อน


12

ในฐานะที่เป็นส่วนหนึ่งของอัลกอริทึมแปรปรวนฉันต้องการสร้างวงจรควอนตัม (นึกคิดด้วยpyQuil ) ซึ่งจำลองรูปแบบของมิลโตเนียน:

H=0.3Z3Z4+0.12Z1Z3+[...]+11.03Z310.92Z4+0.12iZ1Y5X4

เมื่อพูดถึงเทอมสุดท้ายปัญหาคือ pyQuil จะพ่นข้อผิดพลาดต่อไปนี้:

TypeError: PauliTerm coefficient must be real

ฉันเริ่มดำน้ำในวรรณคดีและดูเหมือนว่าปัญหาไม่สำคัญ ฉันได้อ่านบทความนี้เกี่ยวกับควอนตัมสากลมิลโตเนียนซึ่งมีการเข้ารหัสที่ซับซ้อนต่อการเข้ารหัสเช่นเดียวกับการเข้ารหัสในท้องถิ่น อย่างไรก็ตามมันยังไม่ชัดเจนสำหรับฉันว่าจะใช้บางอย่างเช่นนี้ได้อย่างไร ใครสามารถให้คำแนะนำการปฏิบัติเพื่อแก้ไขปัญหานี้ได้บ้าง


1
มันเกิดข้อผิดพลาดเมื่อคุณแทนที่ i ด้วยหรือไม่? Sj2(XjSjXj)2
AHusain

3
โปรดจำไว้ว่ามิลโตเนียนควรเป็น Hermitian นั่นเป็นเพียงค่าสัมประสิทธิ์ที่เป็นจริงเท่านั้น
DaftWullie

1
ฉันอาจใช้คำจำกัดความที่แตกต่างกันสำหรับมากกว่าที่คุณเป็น แต่ประเด็นก็คือคุณสามารถหารวมกันบางอย่างที่ส่งผลให้ID_2 SiId2
AHusain

1
คุณไม่มีคำอีกคำหนึ่งในนั่นคือคอนจูเรียน Hermitian หรือไม่? H=iABiBA
AHusain

1
หรือข้อกำหนดทั้งหมดของแบบฟอร์มดังกล่าวถูกยกเลิกหรือไม่
AHusain

คำตอบ:


10

มิลโตเนียนธรรมดาคือ Hermitian ดังนั้นถ้ามันมีคำที่ไม่ใช่ชาวเฮอร์มิเนียนก็ต้องมีคำว่า Hermitian conjuagte เป็นคำอื่นหรือมีน้ำหนัก 0 ในกรณีนี้เนื่องจากคือ Hermitian เองสัมประสิทธิ์จะต้องเป็น 0 ดังนั้นถ้าคุณกำลังพูดถึงชาวมิลโตเนี่ยนธรรมดาคุณอาจผิดพลาดในการคำนวณของคุณ โปรดทราบว่าหากการรวมกันของ Hermitian ของคำไม่ปรากฏคุณไม่สามารถแก้ไขสิ่งต่าง ๆ ได้โดยการเพิ่มเข้าไป มันจะให้ผลลัพธ์ที่แตกต่างอย่างสิ้นเชิงZXY

ในทางกลับกันคุณอาจต้องการนำมิลโตเนียนที่ไม่ใช่เฮอร์มิเนียนมาใช้ สิ่งเหล่านี้มีอยู่บ่อยครั้งสำหรับคำอธิบายของกระบวนการลดเสียงรบกวน แต่แทบจะไม่แพร่หลายนัก คุณต้องรวมคำศัพท์ "ที่ไม่ใช่เฮอร์มิเนียน" ไว้ด้วยมิฉะนั้นทุกคนจะคิดว่าสิ่งที่คุณทำผิดเพราะไม่ใช่เฮอร์มิเนียนและมิลโตเนียนควรเป็นชาวเฮอร์มิเนียน ฉันไม่คุ้นเคยกับความสามารถที่ซิมูเลเตอร์ต่าง ๆ มอบให้ แต่ฉันก็ต้องแปลกใจหากพวกเขามีความไม่บริสุทธิ์ในตัว

อย่างไรก็ตามคุณสามารถจำลองได้ด้วยค่าใช้จ่ายที่ไม่ได้กำหนดไว้ล่วงหน้า จะมีวิธีการที่ซับซ้อนกว่านี้ (ดูลิงก์ในคำตอบนี้ ) แต่ให้ฉันอธิบายเพียงอย่างเดียว: ฉันจะสมมติว่ามีองค์ประกอบที่ไม่เกี่ยวกับ Hermitian เพียงอันเดียวคือ (ผลิตภัณฑ์เทนเซอร์ของ Paulis) ฉันจะเรียกผลิตภัณฑ์เทนเซอร์ของ Paulisนี้ ส่วนที่เหลือของแฮมิลตันเป็นHคุณต้องการสร้างวิวัฒนาการ เราเริ่มต้นด้วยการทำให้ Trotterising วิวัฒนาการ โดยที่i×KH

eiHt+Kt
eiHt+Kt=i=1NeiHδt+Kδt
Nδt=teiHδt+KδteiHδteKδtN
eKδt=cosh(δt)I+sinh(δt)K.

|ψ=α|0+β|1K{|ψ,|ψ}ψ|ψ=0|ψ|α|2I+|β|2K(1|α|2)/|α|2=tanh(δt)


3

i0.12Z1Y2X3

z=[1 0 ; 0 -1];
x=[0 1;  1  0];
y=[0 -1i; 1i 0];

z1 = kron(z,eye(4));
y2 = kron(kron(eye(2),y),eye(2));
x3 = kron(eye(4),x);

H=0.12*1i*z1*y2*x3

ผลลัพธ์คือ H:

    0     0    0 0.12    0    0     0     0
    0     0 0.12    0    0    0     0     0
    0 -0.12    0    0    0    0     0     0
-0.12     0    0    0    0    0     0     0
    0     0    0    0    0    0     0 -0.12
    0     0    0    0    0    0 -0.12     0
    0     0    0    0    0 0.12     0     0
    0     0    0    0 0.12    0     0     0

เนื่องจากมันเป็นเมทริกซ์จริง Hermitian หมายถึงสมมาตร แต่นี่ไม่ใช่สมมาตรและไม่ใช่ Hermitian สามเหลี่ยมด้านบนขวาไม่เท่ากับสามเหลี่ยมด้านล่างขวา

อย่างไรก็ตามสามเหลี่ยมมุมขวาบนเป็นลบของสามเหลี่ยมล่างขวาดังนั้นมันจึงเป็นแอนตี้ - เฮอร์เมียน

ดังนั้นเมื่อทำตามคำแนะนำของ AHussain ในการเพิ่มการผันคำกริยาผันแปรผลลัพธ์เป็น 0 เพียงแค่เรียกใช้คำสั่งนี้:

H + H'

และคุณจะได้เมทริกซ์ 8x8 เป็น 0

ดังนั้นเมื่อคุณทำให้มิลเทียนของคุณโดยการเพิ่ม transpose ผันคุณจะได้รับ 0 สำหรับคำนี้และดังนั้นคุณไม่จำเป็นต้องมีค่าสัมประสิทธิ์จินตนาการใด


HMHM+HMHM

1
นั่นเป็นเหตุผลที่ @ DaftWullie แสดงความคิดเห็นถูกเข้าใจผิดโดยไม่มีข้อสันนิษฐานเพิ่มเติม
AHusain

1
@ MarkFingerhuth: ขออภัยในความล่าช้าในการเล่นซ้ำ ฉันยุ่งมากในระหว่างวันและได้รับการบ้านใกล้เที่ยงคืนทุกวันในเดือนนี้ หากคุณสามารถแสดงเอกสารที่มาจากสมการฉันสามารถคิดได้ว่าผลลัพธ์ของคุณแตกต่างกันอย่างไร ฉันอาจเปลี่ยนคำตอบของฉันเพื่อพูดว่า "PyQuil ไม่สนับสนุนเมทริกซ์ที่ไม่ใช่เฮอร์มิเนียน แต่นั่นไม่ได้หมายความว่าโปรแกรมอื่นไม่สามารถทำได้"
user1271772

1
@ MarkFingerhuth: คุณพูดว่า "ฉันสร้างมันขึ้นอยู่กับสมการจากกระดาษทฤษฎี" ซึ่งสมการจากกระดาษทฤษฎี? บทความที่เชื่อมโยงในคำถามมีความยาว 82 หน้าคุณไม่สามารถแสดงให้ฉันเห็นว่าสมการที่คุณใช้สร้าง "แฮมิลเนียน" นี้หรือไม่?
user1271772

1
@ MarkFingerhuth ใช่เราสามารถพูดคุยแบบออฟไลน์ได้ แต่ฉันจะไม่ได้รับคะแนนจากที่นั่น ฉันได้ 1 upvote สำหรับความพยายามของฉันที่นี่ดังนั้นแรงจูงใจจึงต่ำ
user1271772
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.