Skip to content

MPS simulator roadmap #10

@refraction-ray

Description

@refraction-ray

API design

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

  • __init__: allow quvector form mps input? (2)
  • __init__: allow array form input by make it a mps with bond dimension truncation? (2) (redesign the API of from_wavefunction into init)
  • vgates, sgates: update to the new gate list (3)
  • support qir? to_qir and from_qir (2)
  • update gate docstring in _meta_apply (2)
  • check and add alias for several methods to keep consitence with Circuit class (3)
  • add expectation API to automatically branch to the suitable expectation function (3)
  • add expectation_ps API as Circuit (3)
  • 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)
  • sample method for sampling (2)
  • quvector and quoperator API for return (2)
  • 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions