Release Notes

MindQuantum 0.9.0 Release Notes

Major Feature and Improvements

Data precision

  • [STABLE] Data Precision: MindQuantum now supports float32, float64, complex64 and complex128 four types of precision, and can set different precision types for operators, parameter resolvers and simulators.

Gates

Operator

  • [STABLE] QubitOperator: Added relabel interface, supports according to new qubit number to rearrange operators. FermionOperator also supports this function.

  • [STABLE] Ground state calculation: New interface supports the calculation of the ground state energy of the Hamiltonian containing only the direct product of the Pauli-Z operator and the Pauli-Z operator.

Ansatz

  • [STABLE] Ansatz: Add 19 ansatz mentioned in Arxiv:1905.10876, all have been implemented.

Circuit

  • [STABLE] ChannelAdder: Add ChannelAdder module, support customized adding various quantum channels into the quantum circuit to construct a noise model. For more details, please refer to: ChannelAdder.

Simulator

  • [STABLE] Density Matrix Simulator: Add density matrix simulator, named mqmatrix. Support variational quantum algorithms, noise simulation, etc. Its functionality is basically aligned with the existing mqvector full-amplitude simulator.

  • [BETA] parameter shift: The quantum simulator gradient operator now supports the parameter shift rule algorithm, which is closer to the experiment.

  • [STABLE] Expectation Calculation: interface is basically aligned with get_expectation_with_grad, but does not calculate the gradient, saving time.

Device

  • [STABLE] QubitNode: Added the qubit node object in the qubit topology interface, which supports the configuration of qubit position, color and connectivity.

  • [STABLE] QubitsTopology: Qubit topology, supports custom topology. Also available with preset structures: linear qubit topology LinearQubits and grid qubit topology GridQubits.

Algorithm

  • [STABLE] Bit Mapping: Added Bit mapping algorithm SABRE, please refer to Arxiv 1809.02573.

  • [BETA] Error Mitigation: Added zero noise extrapolation algorithm for quantum error mitigation.

  • [STABLE] Circuit folding: The quantum circuit folding function is added to support the growth of quantum circuits while ensuring the equivalence of quantum circuits.

  • [BETA] Quantum circuit compilation: A new quantum circuit compilation module is added, which uses DAG graphs to compile quantum circuits, and supports quantum compilation algorithms such as gate replacement, gate fusion, and gate decomposition.

  • [STABLE] ansatz_variance: Added an interface to calculate the variance of the gradient of a certain parameter in the variable quantum circuit, which can be used to verify the barren plateau phenomenon of the variable quantum circuit.

Framework

  • [STABLE] QRamVecLayer: The QRam quantum encoding layer has been added to support direct encoding of classical data into full-amplitude quantum states. The corresponding operator is QRamVecOps.

IO

  • [STABLE] OpenQASM: OpenQASM has added the from_string interface, which supports converting OpenQASM from string format to quantum circuits in MindQuantum.

Bug fix

Contributor

Thanks to the following developers for their contributions:

yufan, wengwenkang, xuxusheng, Damien Ngyuen, zhouxu, wangzidong, yangkang, lujiale, zhangzhenghai, fanyi, zhangwengang, wangkaisheng, zhoufeng, wangsiyuan, gongxiaoqing, chengxianbin, sunxiyin, wenwenkang, lvdingshun, cuijiangyu, chendiqing, zhangkai, Zotov Yuriy, liqin, zengjinglin, cuixiaopeng, 朱祎康, dorothy20212021, dsdsdshe, buyulin, norl-corxilea, herunhong, Arapat Ablimit, NoE, panshijie, longhanlin.

Welcome contributions to the project in any form!