복잡한 계수를 사용한 해밀턴 시뮬레이션


12

변형 알고리즘의 일부로, 다음 형식의 Hamiltonian을 시뮬레이트하는 양자 회로 (이상적으로는 pyQuil 사용 ) 를 구성하고 싶습니다 .

H=0.34+0.121+[...]+11.0310.924+0.12나는1와이5엑스4

마지막 용어와 관련하여 문제는 pyQuil에서 다음 오류가 발생한다는 것입니다.

TypeError: PauliTerm coefficient must be real

나는 문학에 뛰어 들기 시작했고 사소한 문제가 아닌 것 같습니다. 나는 복잡한 실제 인코딩과 로컬 인코딩이 논의되는 범용 양자 해밀턴 사람들에 대해이 논문을 보았습니다 . 그러나 실제로 어떻게 이와 같은 것을 구현할지는 아직 명확하지 않습니다. 아무도이 문제를 해결하는 방법에 대한 실용적인 조언을 줄 수 있습니까?


1
i를 바꾸면 오류가 발생 합니까? Sj2(XjSjXj)2
AHusain

3
해밀턴 인은 에르 미트 인이어야합니다. 계수가 실제라는 것은 사실입니다.
DaftWullie

1
와 다른 정의를 사용하고있을 수 있습니다 . 그러나 요점은 i I d 2 를 초래하는 몇 가지 조합을 찾을 수 있다는 것입니다 . SiId2
AHusain

1
어딘가에 다른 용어 가 없습니까? H = i A B i B A H=iABiBA
AHusain

1
아니면 양식의 모든 조건이 취소됩니까?
AHusain

답변:


10

전형적인 해밀턴은 허미 티안입니다. 따라서, 에르 미트 어가 아닌 용어가 포함 된 경우, 다른 용어로 에르 미트 어 결합도 포함하거나 가중치가 0이어야합니다. 이후이 특별한 경우에, 에르 미트 자체, 계수는 기존의 Hamiltonians에 대해 이야기하는 경우, 그래서 0으로 할 것입니다, 당신은 아마 당신의 계산에 실수를했습니다. 만약 용어의 에르 미트 (Hermitian) 켤레가 존재하지 않는다면, 그것을 추가하여 간단히 고칠 수는 없습니다. 그것은 당신에게 완전히 다른 결과를 줄 것입니다.ZXY

반면, 비 에르 미트 해밀턴 을 구현하고 싶을 수도 있습니다 . 이러한 것들이 종종 소음 과정에 대한 설명을 위해 존재하지만 그다지 널리 퍼져 있지는 않습니다. "비-허미 티언 (Hermitian)"이라는 용어를 명시 적으로 포함시켜야합니다. 다양한 시뮬레이터가 제공하는 기능에 지나치게 익숙하지는 않지만, 반비 (Hermiticity)가 내장되어 있지 않으면 놀랍습니다.

그러나 비 결정적 구현 비용으로 시뮬레이션 할 수 있습니다. 이 이것보다 (의 링크를 참조 더 정교한 방법이 될 것입니다 이 답변 )하지만, 나를 설명 할 특히 단순히 하나 : 나는 경우에만 하나의 비 에르 미트 구성 요소, 거기에 가정거야 Paulis의 (텐서 제품 ). 이 Paulis K 텐서 제품이라고하겠습니다 . 나머지 해밀턴 인은 H 입니다. 당신은 진화 만들려면 전자 - 나는 H의 t + K t에 우리는 Trotterising에 의해 진화, 시작 전자 - 내가 H t + K의 t = N을i×KH

eiHt+Kt
여기서Nδt=t입니다. 이제 우리는 개별 항e-iHδt+Kδte-iHδteKδt(큰N에서 더 정확 해짐)를 시뮬레이션하는 작업을합니다. Hermitian 부분을 다루는 방법을 이미 알고 있으므로eKδt=
이자형나는H+케이=나는=1이자형나는Hδ+케이δ
δ=이자형나는Hδ+케이δ이자형나는Hδ이자형케이δ
이자형케이δ=곤봉(δ)나는+(δ)케이.

|ψ=α|0+β|1케이{|ψ,|ψ}ψ|ψ=0|ψ|α|2나는+|β|2케이(1|α|2)/|α|2=(δ)


3

나는0.121와이2엑스

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)입니다.

따라서 켤레 전치 추가에 대한 AHussain의 제안을 수행하면 결과는 0이됩니다.이 명령을 실행하면됩니다.

H + H'

8의 8x8 행렬이 0이됩니다.

따라서 켤레 전치를 추가하여 Hamiltonian Hermitian을 만들면이 항에 대해 0을 얻게 되므로 가상 계수를 가질 필요가 없습니다 .


H미디엄H미디엄+H미디엄'H미디엄

1
그렇기 때문에 @DaftWullie의 의견은 더 이상의 가정없이 착각됩니다.
AHusain

1
@MarkFingerhuth : 재생이 지연되어 죄송합니다. 나는 낮에는 매우 바빴으며이 달에 매일 자정에 집에 돌아 왔습니다. 방정식이 나오는 종이를 보여 주면 결과가 근본적으로 어떻게 다른지 생각해 볼 수 있습니다. "PyQuil은 비 에르 미트 (Hermitian) 행렬을 지원하지 않지만 다른 프로그램이 할 수 없다는 의미는 아닙니다"라고 답을 변경할 수 있습니다.
user1271772

1
@MarkFingerhuth : "이론적 논문의 방정식을 기반으로 생성했습니다"라고 말하는 이론적 논문은 무엇입니까? 질문에 링크 된 논문의 길이는 82 페이지입니다.이 "해밀턴"을 생성하는 데 사용한 방정식은 무엇입니까?
user1271772

1
@MarkFingerhuth, 그렇습니다. 오프라인으로 대화 할 수는 있지만 아무런 의미가 없습니다. 나는 나의 노력으로 1 개의 공감대를 얻었으므로 인센티브는 낮다.
user1271772
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.