Mô phỏng Hamilton với các hệ số phức tạp


11

Là một phần của thuật toán biến thiên, tôi muốn xây dựng một mạch lượng tử (lý tưởng nhất là với pyQuil ) mô phỏng một Hamiltonian có dạng:

H= =0,3Z3Z4+0,12Z1Z3+[...]+-11,03Z3-10,92Z4+0,12TôiZ1Y5X4

Khi nói đến thuật ngữ cuối cùng, vấn đề là pyQuil đưa ra lỗi sau:

TypeError: PauliTerm coefficient must be real

Tôi bắt đầu đi sâu vào văn học và nó có vẻ như là một vấn đề không hề nhỏ. Tôi đã xem qua bài viết này về người Hamilton lượng tử phổ quát nơi mã hóa phức tạp đến thực tế cũng như mã hóa địa phương được thảo luận. Tuy nhiên, tôi vẫn chưa rõ làm thế nào một người thực tế sẽ thực hiện một cái gì đó như thế này. Bất cứ ai có thể cho tôi một số lời khuyên thiết thực để giải quyết vấn đề này?


1
Nó có ném lỗi khi bạn thay thế i bằng không? Sj2*(XjSjXj)2
AHusain

3
Hãy nhớ rằng một người Hamilton nên là Hermiti. Điều đó chỉ đúng với các hệ số là có thật.
DaftWullie

1
Tôi có thể đang sử dụng một định nghĩa khác cho so với bạn. Nhưng vấn đề là bạn có thể tìm thấy một số kết hợp có kết quả trong . i tôi d 2STôiTôid2
AHusain

1
Bạn không có một thuật ngữ nào khác ở đâu đó trong những đó, đó là liên hợp Hermiti? H= =TôiMộtB-TôiBMột
AHusain 24/07/18

1
Hoặc là tất cả các điều khoản của hình thức mà những người hủy bỏ?
AHusain

Câu trả lời:


9

Một người Hamilton thông thường là Hermiti. Do đó, nếu nó có chứa một thuật ngữ không phải là Hermiti, thì nó cũng phải chứa thuật ngữ Hermiti conjuagte của nó như một thuật ngữ khác hoặc có trọng số 0. Trong trường hợp cụ thể này, vì là Hermitian tự, hệ số sẽ phải là 0. Vì vậy, nếu bạn đang nói về Hamilton thông thường, bạn đã có thể làm cho một sai lầm trong tính toán của bạn. Lưu ý rằng nếu không có liên hợp Hermiti của thuật ngữ này, bạn không thể sửa chữa mọi thứ bằng cách thêm nó vào; nó sẽ cho bạn một kết quả hoàn toàn khácZXY

Mặt khác, bạn có thể muốn thực hiện một Hamiltonian không phải là Hermiti . Những điều này tồn tại, thường là để mô tả các quá trình tiếng ồn, nhưng gần như không phổ biến. Bạn cần bao gồm một cách rõ ràng thuật ngữ "không phải là Hermiti", nếu không mọi người sẽ chỉ nghĩ rằng những gì bạn đang làm là sai bởi vì đó không phải là Hermiti, và một người Hamilton nên là Hermiti. Tôi không quá quen thuộc với những khả năng mà các trình giả lập khác nhau cung cấp, nhưng tôi sẽ ngạc nhiên nếu chúng được tích hợp tính không ẩn.

Tuy nhiên, bạn có thể mô phỏng nó, với chi phí thực hiện không xác định. Sẽ có nhiều phương pháp phức tạp hơn phương pháp này (xem các liên kết trong câu trả lời này ), nhưng hãy để tôi mô tả một phương pháp đặc biệt đơn giản: Tôi sẽ giả sử chỉ có một thành phần không phải là Hermiti, đó là (một sản phẩm tenor của Paulis ). Tôi sẽ gọi cho sản phẩm tensor này Paulis K . Phần còn lại của Hamilton là H . Bạn muốn tạo ra sự tiến hóa e - i H t + K t Chúng tôi bắt đầu bằng cách Trotterising sự tiến hóa, e - i H t + K t = NTôi×KH

e-TôiHt+Kt
nơiNδt=t. Bây giờ chúng ta làm việc trên mô phỏng một thuật ngữ cá nhâne-iHδt+Kδte-iHδteKδt(mà trở nên chính xác hơn tại lớnN). Bạn đã biết làm thế nào để đối phó với phần Hermiti vì vậy, tập trung vàoeKδt=
e-TôiHt+Kt= =ΠTôi= =1Ne-TôiHδt+Kδt
Nδt= =te-TôiHδt+Kδte-TôiHδteKδtN
eKδt= =cosh(δt)Tôi+sinh(δt)K.

Chúng tôi giới thiệu một qubit ancilla trong tiểu bang , và chúng tôi sử dụng như qubit kiểm soát trong một controlled- K cổng. Sau đó, chúng tôi đo ancilla trong { | ψ , | ψ } cơ sở (nơi ψ | ψ = 0 ). Nếu kết quả là | ψ , sau đó trên các qubit mục tiêu, chúng tôi đã thực hiện các hoạt động | alpha ||ψ= =α|0+β|1K{|ψ,|ψ}ψ|ψ= =0|ψ , lên mức bình thường. Vì vậy, nếu bạn sửa ( 1 - | α | 2 ) / | alpha | 2 = tanh ( δ t ) , bạn đã hoàn toàn thực hiện rằng hoạt động. Nếu phép đo thất bại, tùy thuộc vào việc bạn muốn thử phục hồi (điều này có thể không thực hiện được) hoặc bắt đầu lại.|α|2Tôi+|β|2K(1-|α|2)/|α|2= =tanh(δt)


3

Tô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

Đầu ra là 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

Vì nó là một ma trận thực, Hermiti có nghĩa là đối xứng, nhưng đây không phải là đối xứng và do đó không phải là Hermiti. Tam giác trên cùng bên phải không bằng tam giác dưới cùng bên phải.

Tuy nhiên, tam giác trên cùng bên phải là âm của tam giác dưới cùng bên phải, vì vậy nó là chống Hermiti.

Vì vậy, thực hiện đề xuất của AHussain về việc thêm chuyển đổi liên hợp, kết quả là 0. Chỉ cần chạy lệnh này:

H + H'

và bạn sẽ nhận được ma trận 8 x 8.

Vì vậy, khi bạn tạo Hamiltonian Hermiti bằng cách thêm chuyển đổi liên hợp, bạn nhận được 0 cho thuật ngữ này và do đó bạn không cần phải có bất kỳ hệ số tưởng tượng nào .


HMHM+HM'HM

1
Đó là lý do tại sao bình luận của @ DaftWullie bị nhầm lẫn mà không có giả định nào thêm.
AHusain

1
@MarkFingerhuth: Xin lỗi vì sự chậm trễ trong phát lại. Tôi đã rất bận rộn trong những ngày và đã về nhà gần nửa đêm mỗi ngày trong tháng này. Nếu bạn có thể chỉ cho tôi bài báo xuất phát từ phương trình nào, tôi có thể nghĩ về kết quả của bạn về cơ bản khác nhau như thế nào. Tôi có thể thay đổi câu trả lời của mình để nói rằng "PyQuil không hỗ trợ các ma trận không phải Hermiti, nhưng điều đó không có nghĩa là một chương trình khác không thể".
1271772

1
@MarkFingerhuth: bạn nói "Tôi đã tạo ra nó dựa trên các phương trình từ một bài báo lý thuyết" phương trình nào từ bài báo lý thuyết nào? Bài viết được liên kết trong câu hỏi dài 82 trang, bạn có thể không chỉ cho tôi biết phương trình nào bạn đã sử dụng để tạo ra "Hamilton" này không?
1271772

1
@MarkFingerhuth, vâng, chúng tôi có thể nói chuyện ngoại tuyến, tuy nhiên tôi sẽ không nhận được bất kỳ điểm nào cho nó. Tôi chỉ có 1 upvote cho nỗ lực của mình ở đây, vì vậy ưu đãi thấp.
1271772
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.