# 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

[STABLE]

`Quantum Gates`

: Added multiple two-qubit Pauli rotation gate, including:`Rxx`

,`Rxy`

,`Rxz`

,`Ryy`

,`Ryz`

and`Rzz`

.[STABLE]

`Quantum Channel`

: Noise channels now support returning kraus operators via the`.matrix()`

method.

#### 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

`PR1757`

: Fixed the bug of`StronglyEntangling`

when the depth is greater than 2.`PR1700`

: Fixed matrix expression of`CNOT`

gates and logic errors of`AmplitudeDampingChannel`

.`PR1523`

: Fix logic errors of`PhaseDampingChannel`

.

### 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!