Release Notes

MindQuantum 0.10.0 Release Notes

Major Features and Improvements

Algorithm

  • [BETA] virtual_distillation: Added error mitigation algorithm based on virtual distillation, which reduces quantum noise by creating virtual copies of quantum states and performing measurements on an entangled system.

  • [BETA] QuantumNeuron: Added quantum neuron implementation based on Repeat-Until-Success (RUS) strategy, which simulates classical neuron behavior through quantum circuits by applying non-linear function rotations.

  • [STABLE] qjpeg: Added quantum image compression algorithm based on quantum Fourier transform, which can compress quantum images by reducing the number of qubits while preserving key information in the frequency domain.

  • [STABLE] cnry_decompose: Added decomposition for CnRY gate.

  • [STABLE] cnrz_decompose: Added decomposition for CnRZ gate.

  • [STABLE] BSB: Added GPU acceleration support for Ballistic Simulated Bifurcation algorithm with the three precision options: 'cpu-float32', 'gpu-float16', 'gpu-int8'.

  • [STABLE] DSB: Added GPU acceleration support for Discrete Simulated Bifurcation algorithm with the three precision options: 'cpu-float32', 'gpu-float16', 'gpu-int8'.

  • [STABLE] qudit_symmetric_encoding: Added qudit encoding functionality that maps d-level quantum states to qubit states through symmetric encoding, enabling efficient simulation of higher-dimensional quantum systems on standard qubit-based quantum computers.

  • [STABLE] qudit_symmetric_decoding: This feature introduces the ability to decode qubit symmetric states or matrices into qudit states or matrices, thereby enhancing the support for multi-level quantum systems. The decoding process involves transforming symmetric qubit states into corresponding qudit states, which facilitates efficient simulation of higher-dimensional quantum systems on standard qubit-based quantum computers.

  • [STABLE] qutrit_symmetric_ansatz: Introduced a qutrit symmetric ansatz that constructs a qubit ansatz preserving the symmetry of encoding for arbitrary qutrit gates. This feature allows for efficient simulation of higher-dimensional quantum systems on standard qubit-based quantum computers by leveraging symmetry-preserving transformations. The ansatz supports decomposition into "zyz" or "u3" basis and can optionally include a global phase.

Measure

Operator

  • [STABLE] mat_to_op: Added function to convert matrix to QubitOperator, supporting both little-endian and big-endian qubit ordering for seamless integration with different quantum computing frameworks.

Circuit

  • [STABLE] Added Circuit.from_qcis() and Circuit.to_qcis() functions for QCIS format conversion

  • [STABLE] Added __eq__ and __ne__ methods for circuit comparison

  • [STABLE] Circuit.depth(): Added function to calculate quantum circuit depth with options to include single-qubit gates and align gates to barriers.

IO

  • [STABLE] QCIS: Added quantum circuit and QCIS format conversion class

Breaking Changes

  • [IMPORTANT] The byte order of keys and samples in MeasureResult has been unified to little-endian. If your code uses these attributes, please carefully check and use the newly added reverse_endian method to adjust if needed.

Bug Fixes

  • PR2497: Fixed potential parameter name duplication in Amplitude Encoder.

  • PR2410: Fixed is_measure_end error that returned True even without measurement operations.

  • PR2410: Fixed incorrect calculation results after reversing qubit order in two-qubit gates.

  • PR2377: Fixed recursive error in DAGCircuit when processing deep circuits, now supporting arbitrary depth circuits.

  • PR2345: Fixed calculation error in mqmatrix's get_expectation_with_grad method when processing batch Hamiltonians and added test cases.

  • PR2345: Fixed error when using reverse_qubits with gates not added in specified order.

  • PR2345: Fixed error in FermionOperator.hermitian() example code.

  • PR2319: Fixed measurement error in Stabilizer simulator.

  • PR2319: Fixed seed not properly applied in Stabilizer simulator.

  • PR2319: Added verification for bit string correctness in Stabilizer simulator output.

  • PR2315: Made MQSim and Hamiltonian serializable, supporting Python multiprocessing.

  • PR2309: Fixed missing imaginary terms and coefficients in some QAOA ansatzes.

  • PR2309: Fixed non-working QAOAAnsatz example.

  • PR2309: Modified parameter names in ansatz circuits to match formulas.

  • PR2296: Fixed index error in kron_factor_4x4_to_2x2s() return values, ensuring correctness of two-qubit gate decomposition function kak_decompose.

  • PR2285: Removed unnecessary output during gradient computation.

Other Updates

  • Optimized first-time quantum circuit execution speed for improved performance.

  • Improved precision of params_zyz() function, enhancing ZYZ decomposition accuracy.

  • Removed warning for uninstalled mqvector_gpu, now only prompting when used.

  • Removed warning for uninstalled MindSpore, now only prompting when used.

  • Added warning when Hamiltonian contains imaginary parts, alerting users to potential calculation anomalies.

  • Enhanced clarity of warning messages when MindSpore is not installed.

  • Changed pip source to Tsinghua mirror.