W-state as MPS
Posted: 25 Oct 2023, 10:42
Hello,
I'm trying to implement the W-state (https://en.wikipedia.org/wiki/W_state) as an MPS. My first approach was the MPS.from_Bflat() function, but I'm not quite sure which shape the Matrix should have. I've tried for example the State 1/sqrt(3) (|100> + |010> + |001>) by the three matrices
A_1 = [[[0,1],[0]],[[0,1],[1,0]]] A_2 = ... (as in https://en.wikipedia.org/wiki/Matrix_product_state) but that did not work.
My second approach is to run DMRG on the XX Model (I used the XXZChain with Jz = 0, h = 0) since the groundstate of the XX Model should be the W state, but then I'm not quite sure how to check if this is the state I'm looking for. Is there any method to get the resulting state in the form of basis states like 1/sqrt(3) (|100> + |010> + |001>)? I tried psi.get_theta(0,3) but wasn't really sure how to interpret the output.
Thanks a lot.
Robin
I'm trying to implement the W-state (https://en.wikipedia.org/wiki/W_state) as an MPS. My first approach was the MPS.from_Bflat() function, but I'm not quite sure which shape the Matrix should have. I've tried for example the State 1/sqrt(3) (|100> + |010> + |001>) by the three matrices
A_1 = [[[0,1],[0]],[[0,1],[1,0]]] A_2 = ... (as in https://en.wikipedia.org/wiki/Matrix_product_state) but that did not work.
My second approach is to run DMRG on the XX Model (I used the XXZChain with Jz = 0, h = 0) since the groundstate of the XX Model should be the W state, but then I'm not quite sure how to check if this is the state I'm looking for. Is there any method to get the resulting state in the form of basis states like 1/sqrt(3) (|100> + |010> + |001>)? I tried psi.get_theta(0,3) but wasn't really sure how to interpret the output.
Thanks a lot.
Robin