/Liang.jl

The next-gen emulation engine for quantum systems

Primary LanguageJuliaMIT LicenseMIT

Liang

The universal emulator

Disclaimer This is in a very early stage of development. The package is not expected to be used by anyone other than the author. I make it public only to make a few things clear legally due to some personal changes in the near future.

Installation

Liang is a   Julia Language   package. To install Liang, please open Julia's interactive session (known as REPL) and press ] key in the REPL to use the package mode, then type the following command

pkg> add Liang

Acknowledgement

This package is inspired by the following projects:

  • Yao & QuSpin: the major starting point of this package.
  • QuTiP & QuanutmOptics: helped us understand better the use cases of the package.
  • Symbolics: the rewrite engine and the symbolic data structure are largely inspired by Symbolics and my conversation with Yingbo Ma.
  • OMEinsum: the tensor network contraction engine is largely inspired by OMEinsum's contraction tree.
  • MLStyle: the underlying algebra data type and pattern match support is largely inspired by MLStyle.
  • SumTypes: the memory layout is from an old version of SumTypes, might get changed to new version in the future.

License

MIT License