tensorcircuit icon indicating copy to clipboard operation
tensorcircuit copied to clipboard

MPS simulator roadmap

Open refraction-ray opened this issue 3 years ago • 1 comments

API design

number after indicates priority: 3 is high and 1 is low

  • [ ] __init__: allow quvector form mps input? (2)
  • [x] __init__: allow array form input by make it a mps with bond dimension truncation? (2) (redesign the API of from_wavefunction into init)
  • [x] vgates, sgates: update to the new gate list (3)
  • [x] support qir? to_qir and from_qir (2)
  • [x] update gate docstring in _meta_apply (2)
  • [x] check and add alias for several methods to keep consitence with Circuit class (3)
  • [x] add expectation API to automatically branch to the suitable expectation function (3)
  • [x] add expectation_ps API as Circuit (3)
  • [x] add prepend and append methods to compose MPSCircuit (1)
  • [ ] add jittable unitary kraus and general kraus methods (1 for now but ultimately also very important if possible)
  • [ ] matrix API to return circuit unitary (1)
  • [x] sample method for sampling (2)
  • [ ] quvector and quoperator API for return (2)
  • [x] MPO gate support and make it compatible with MPS simulator (2)

Ultimately, we have to reconsider the implementation infrastructure of MPSCircuit, since many code can be reused from Circuit class, how do we organize the relation between the two classes? Inheritance is not a good idea, while separate class design makes many code repetitions

Benchmark

The full performance with the assistance and compatibility of AD, JIT, VMAP and GPU

  • [ ] Implement QML benchmark in MPS to check its VMAP support and distant two-qubit gate application performace
  • [ ] Run the benchmark sets on different hardware at Tencent Cloud

refraction-ray avatar Jun 07 '22 01:06 refraction-ray

@SUSYUSTC

refraction-ray avatar Jun 07 '22 01:06 refraction-ray