Skip to content

A quick realization of the quantum circuit of a matrix product state.

License

Notifications You must be signed in to change notification settings

frankwswang/QMPS.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QMPS

Build Status Build Status Coverage

A quick realization of qubit-efficient quantum circuit architecture of Matrix Product States (QMPS). This package is an extension package for a quantum simulation framework called Yao.

Supported types of MPS

  • Cluster state
  • Differentiable circuit constructed state (Support quantum differentiations)

Main functions

For constructing QMPS circuits

  • MPSC: Generate the structure of elements related to a QMPS circuit.

  • MPSpar: Construct parameters that MPSC needs.

  • MPSbuilder: Function for creating different types of MPS circuits.

For differentiable quantum circuits

  • DCbuilder: Generate the structure of elements may needed for a Quantum differentiable circuit.

  • MPSDCpar: Get the circuit parameters of a differentiable QMPS circuit (QMPS-DC) or of a QMPS-DC extended circuit.

  • markDiff: Return the differentiable gate(s) QMPS.QDiff{GT, N} from a block or a block tree such as ChainBlock.

  • getQdiff: Quantum differentiation.

  • getNdiff: Numerical differentiation.

NOTE: For more introductions and tutorials about the above functions please check the examples directory in the repository as well as the function documentation using Julia's Help mode.

Fields of struct MPSC

Fields Meanings
circuit QMPS circuit.
mpsBlocks Array of all the MPS blocks in the QMPS circuit.
cExtend The circuit QMPS circuit is extended back to that doesn't reuse any qubit.
cEBlocks Array of all the MPS blocks in the Extended circuit.
dGates Differentiable gates of the QMPS circuit if applicable.
nBit Number of lines (bits) of the QMPS circuit.
nBlock Number of blocks in the QMPS circuit.

Setup Guide

Environment

Installation

Please type ] in Julia REPL to enter Pkg mode, then type:

pkg> add https://github.com/frankwswang/QMPS.jl

Reference

*Mitarai, K., Negoro, M., Kitagawa, M., & Fujii, K. (2018). Quantum circuit learning. Physical Review A, 98(3), 032309. (DOI: 10.1103/PhysRevA.98.032309)

*Liu, J. G., Zhang, Y. H., Wan, Y., & Wang, L. (2019). Variational quantum eigensolver with fewer qubits. Physical Review Research, 1(2), 023025. (DOI: 10.1103/PhysRevResearch.1.023025)

License

QMPS is released under Apache License 2.0.

About

A quick realization of the quantum circuit of a matrix product state.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages