Skip to content

Latest commit

 

History

History
121 lines (92 loc) · 5.66 KB

HISTORY.md

File metadata and controls

121 lines (92 loc) · 5.66 KB

Yao v0.6.0 Release Notes

New Features

  • Symbolic Computation Support via SymEngine.
  • automatic differentiation support with reversibility based optimization
  • better CUDA performance in CuYao
  • unitary channel support in YaoBlocks#101
  • better measure with operators in YaoBlocks#100
  • yao script a mark up language for quantum circuit in YaoBlocks#92
  • new fidelity grad and operator fidelity grad. YaoBlocks#109

Documentation Improvements

Core component package changes

YaoBase changes

YaoArrayRegister changes

Closed issues:

  • instruct! ambiguity error in julia1.2 (#28)
  • The jldoctest fails (#26)

Merged pull requests:

YaoBlocks changes

External dependencies

LuxurySparse

Yao v0.4.0

More Modulized Arch

We make Yao a meta package over several component packages to make it more modulized to make the development faster. Now most of the code are in

  • YaoBase
  • YaoBlocks
  • YaoArrayRegister

Block Tree

Now all the blocks in Yao represents a quantum operator and there's no MatrixBlock anymore, most blocks will have mat to get its matrix, but blocks might not have matrix or hard to have a matrix will just error when you try to call it.

There's no need to insert classical function inside blocks with FunctionBlock instead of just doing a function call.

Therefore, the following types are removed:

FunctionBlock
MatrixBlock

Registers

Since we are going to support more kinds of registers, register is deprecated, and use the type constructor directly is preferred, e.g ArrayReg.

Circuit Simplification

We add basic support on circuit simplification, and provide an extensible interface to add new simplification rules. A single new interfce: simplify is added.