hongyehu / PyClifford

An intuitive programming package for simulating and analyzing Clifford circuits, quantum measurement, and stabilizer states with applications to many-body localization, classical shadows, quantum chemistry and error correction code.
https://hongyehu.github.io/PyCliffordPages/intro.html
BSD 3-Clause "New" or "Revised" License
69 stars 13 forks source link

[UnitaryHack] Mixed state unitary evolution and expectations #16

Closed hongyehu closed 1 month ago

hongyehu commented 1 year ago

Implement mixed state quantum evolution, measurement, and expectation values. In the current implementation, the stabilizer state class has an attribute stabilizer_state.r which labels how many stabilizer generators are used to describe the state. For example, for a N qubit stabilizer state, in the gs matrix, the first N rows denote the stabilizer generators in binary vectors, and the second N rows denote the destabilizer generators in binary vectors. And the stabilizer generators used are from stabilizer_state.r to N, while destabilizer generators used are from stabilizer_state.r+N to 2N.

Therefore, if stabilizer_state.r=0, the state is fully stabilized by the first N generators, and the state is pure. And one need to change the evolution, measurement, calculation of expectation functions accordingly to general 0<stabilizer_state.r<=N for the mixed states.

QuantumAsma commented 1 year ago

I am new on Pyclliford, could u assigne this issue to me?

hongyehu commented 1 year ago

@QuantumAsma Great! This issue is assigned to you. If you need any help on Pyclifford, please let us know. We will provide as much support as we could. Thanks

QuantumAsma commented 1 year ago

@hongyehu could you provide some references please?