1.2K Star 1.9K Fork 3.3K

GVPMindSpore / mindquantum

2024-01-31 17:47
donghufeng

MindQuantum Release Notes

MindQuantum 0.9.11 Release Notes

主要特性和增强

Gates

  • [STABLE] 任意轴旋转门: 新增绕布洛赫球上任意轴旋转的单比特门Rn
  • [STABLE] matrix: 量子门支持通过该接口并指定参数full=True来获取量子门完整的矩阵形式(受作用位比特和控制位比特影响)。
  • [STABLE] 热弛豫信道: 新增 ThermalRelaxationChannel 热弛豫信道。
  • [Alpha] 量子测量: 测量门现支持比特重置功能,可将测量后的量子态重置为|0⟩态或者|1⟩态。优化测量门执行速度。
  • [STABLE] RotPauliString: 新增任意泡利串旋转门。
  • [STABLE] GroupedPauli: 新增泡利组合门,该门比逐个执行单个泡利门会更加快速。
  • [STABLE] GroupedPauliChannel: 新增泡利信道组合信道,该组合信道比逐一执行泡利信道更快。
  • [STABLE] SX: 新增根号X门。
  • [STABLE] [Givens]: 新增Givens旋转门。

Circuit

  • [STABLE] summary: 通过该接口展示的量子线路汇总信息会以表格形式呈现,更加美观直接。
  • [STABLE] svg: 现在可以通过控制参数scale来对量子线路图进行缩放。
  • [STABLE] openqasm: 量子线路直接支持转化为openqasm或者从openqasm转化为mindquantum线路。

ParameterResolver

  • [STABLE] PRGenerator: new接口支持配置临时的前缀和后缀。

Ansatz

Device

Simulator

  • [STABLE] sampling: 加速量子模拟器在对不含噪声且测量门全部在线路末端的量子线路的采样。

utils

  • [STABLE] 进度条: 新增两个基于rich构建的简单易用的进度条,分别为支持单层循环的SingleLoopProgress和支持两层循环的TwoLoopsProgress
  • [Alpha] [random_insert_gates]: 支持在量子线路中随机插入量子门。

Algorithm

  • [Alpha] MQSABRE: 新增支持设置量子门保真度的比特映射算法。

Bug Fix

  • PR1971: 修复amplitude_encoder中符号错误问题。
  • PR2094: 修复get_expectation_with_grad在使用parameter shift规则时随机数种子单一性问题。
  • PR2164: 修复windows系统下的构建脚本传入参数问题。
  • PR2171: 修复密度矩阵模拟器在量子态复制时可能遇到的空指针问题。
  • PR2175: 修复泡利信道的概率可以为负数的问题。
  • PR2176: 修复parameter shift规则在处理含控制位量子门时的问题。
  • PR2210: 修复parameter shift规则在处理多参数门且部分参数为常数时的问题。

贡献者

感谢以下开发者做出的贡献:

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.

欢迎以任何形式对项目提供贡献!

2023-10-16 11:07
donghufeng

MindQuantum Release Notes

MindQuantum 0.9.0 Release Notes

主要特性和增强

数据精度

  • [STABLE] 数据精度: MindQuantum 现支持 float32float64complex64complex128四种精度类型,可为各种算符、参数解析器和模拟器设置不同的精度类型。

Gates

Operator

  • [STABLE] QubitOperator: 新增 relabel 接口,支持按照新的比特编号来重排算符。FermionOperator同样支持该功能。
  • [STABLE] 基态计算: 新增接口支持计算只包含 pauli z 算符和 pauli z 算符的直积的哈密顿量的基态能量。

Ansatz

  • [STABLE] Ansatz: 新增 Arixv:1905.10876 中提到的19个 ansatz,先均已实现。

Circuit

  • [STABLE] ChannelAdder: 新增 ChannelAdder 模块,支持定制化的将各种量子噪声信道添加量子线路中,以此构成一个噪声模型,更多教案请参考:ChannelAdder

Simulator

  • [STABLE] 密度矩阵模拟器: 新增密度矩阵模拟器,模拟器名称为 mqmatrix。支持变分量子算法、噪声模拟等,与现有 mqvector 全振幅模拟器功能基本对齐。
  • [BETA] parameter shift: 量子模拟器梯度算子现支持 parameter shift 算法,更贴近于实验。
  • [STABLE] 期望计算: 接口与 get_expectation_with_grad基本对齐,但是不会计算梯度值,节省时间。

Device

  • [STABLE] QubitNode: 新增量子比特拓扑接口中的比特节点对象,支持对比特的位置和颜色以及连通性进行配置。
  • [STABLE] QubitsTopology: 量子比特拓扑结构,支持自定义拓扑结构。同时可使用预定义结构:线性拓扑结构 LinearQubits 和方格点拓扑结构 GridQubits

Algorithm

  • [STABLE] 比特映射: 新增比特映射算法 SABRE,论文请参考 Arxiv 1809.02573
  • [BETA] 误差缓解: 新增零噪声外推算法算法来进行量子误差缓解。
  • [STABLE] 线路折叠: 新增量子线路折叠功能,支持保证量子线路等价性的同时增长量子线路。
  • [BETA] 量子线路编译: 新增量子线路编译模块,利用 DAG 图对量子线路进行编译,支持门替换、门融合和门分解等量子编译算法。
  • [STABLE] ansatz_variance: 新增接口计算变分量子线路中的某个参数的梯度的方差,可用于验证变分量子线路的贫瘠高原现象。

Framework

  • [STABLE] QRamVecLayer: 新增 QRam 量子编码层,支持将经典数据直接编码为全振幅量子态。对应的算子为 QRamVecOps

IO

  • [STABLE] OpenQASM: OpenQASM 新增 from_string 接口,支持将字符串格式的 OpenQASM 转化为 MindQuantum 中的量子线路。

Bug fix

贡献者

感谢以下开发者做出的贡献:

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.

欢迎以任何形式对项目提供贡献!

最后提交信息为: !1965[CXX] Support I as token
预览版本
2023-05-08 18:55
donghufeng

MindQuantum Release Notes

MindQuantum 0.9.0 Release Notes

主要特性和增强

数据精度

  • [STABLE] 数据精度: MindQuantum 现支持 float32float64complex64complex128四种精度类型,可为各种算符、参数解析器和模拟器设置不同的精度类型。

Gates

Operator

  • [STABLE] QubitOperator: 新增 relabel 接口,支持按照新的比特编号来重排算符。FermionOperator同样支持该功能。
  • [STABLE] 基态计算: 新增接口支持计算只包含 pauli z 算符和 pauli z 算符的直积的哈密顿量的基态能量。

Ansatz

  • [STABLE] Ansatz: 新增 Arixv:1905.10876 中提到的19个 ansatz,先均已实现。

Circuit

  • [STABLE] ChannelAdder: 新增 ChannelAdder 模块,支持定制化的将各种量子噪声信道添加量子线路中,以此构成一个噪声模型,更多教案请参考:ChannelAdder

Simulator

  • [STABLE] 密度矩阵模拟器: 新增密度矩阵模拟器,模拟器名称为 mqmatrix。支持变分量子算法、噪声模拟等,与现有 mqvector 全振幅模拟器功能基本对齐。
  • [BETA] parameter shift: 量子模拟器梯度算子现支持 parameter shift 算法,更贴近于实验。
  • [STABLE] 期望计算: 接口与 get_expectation_with_grad基本对齐,但是不会计算期望值,节省时间。

Device

  • [STABLE] QubitNode: 新增量子比特拓扑接口中的比特节点对象,支持对比特的位置和颜色以及连通性进行配置。
  • [STABLE] QubitsTopology: 量子比特拓扑结构,支持自定义拓扑结构。同时可使用预定义结构:线性拓扑结构 LinearQubits 和方格点拓扑结构 GridQubits

Algorithm

  • [STABLE] 比特映射: 新增比特映射算法 SABRE,论文请参考 Arxiv 1809.02573
  • [BETA] 误差缓解: 新增零噪声外推算法算法来进行量子误差缓解。
  • [STABLE] 线路折叠: 新增量子线路折叠功能,支持保证量子线路等价性的同时增长量子线路。
  • [BETA] 量子线路编译: 新增量子线路编译模块,利用 DAG 图对量子线路进行编译,支持门替换、门融合和门分解等量子编译算法。
  • [STABLE] ansatz_variance: 新增接口计算变分量子线路中的某个参数的梯度的方差,可用于验证变分量子线路的贫瘠高原现象。

Framework

  • [STABLE] QRamVecLayer: 新增 QRam 量子编码层,支持将经典数据直接编码为全振幅量子态。对应的算子为 QRamVecOps

IO

  • [STABLE] OpenQASM: OpenQASM 新增 from_string 接口,支持将字符串格式的 OpenQASM 转化为 MindQuantum 中的量子线路。

Bug fix

贡献者

感谢以下开发者做出的贡献:

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.

欢迎以任何形式对项目提供贡献!

最后提交信息为: !1512[CXX] compress simulator memory
2023-02-13 20:16
donghufeng

MindQuantum Release Notes

查看中文

MindQuantum 0.8.0 Release Notes

Major Feature and Improvements

Gates

  • [STABLE] FSim: Fermionic simulation gate supported, and this gate also works in variational quantum algorithm.
  • [STABLE] U3: The single qubit arbitrary gate U3 now will work as a single gate but not a piece of quantum circuit. U3 gate also works in variational quantum algorithm.
  • [STABLE] Customed parameterized gate. Customed parameterized gate now will compiled to machine code by jit compiler numba, and the simulator backend can call customed parameterized gate in parallel thread.
  • [STABLE] BarrierGate: BarrierGate now can be acted on certain qubits.
  • [STABLE] KrausChannel: Design a customed kraus channel for quantum simulator.

Circuit

  • [STABLE] svg: Now you can set the width to split the svg circuit, so that you can copy it into your paper.

Simulator

  • [STABLE] New simulator supported. mqvector and mqvector_gpu are two mindquantum simulate that prepared for cpu and gpu. And projectq simulator will be deprecated. The new simulator is total compatible with old one, what you only to do is to change the backend name when you initialize the simulator.

Note

The attachments are GPU version for linux platform.

最后提交信息为: !1423update api link in release
2022-07-13 09:26
donghufeng

MindQuantum Release Notes

查看中文

MindQuantum 0.7.0 Release Notes

Major Features and Improvements

Circuit

  • [STABLE] as_encoder: Method of Circuit to mark this circuit as an encoder circuit.
  • [STABLE] as_ansatz: Method of Circuit to mark this circuit as an ansatz circuit.
  • [STABLE] encoder_params_name: Method of Circuit to return the encoder parameters.
  • [STABLE] ansatz_params_name: Method of Circuit to return the ansatz parameters.
  • [STABLE] remove_noise: Method of Circuit to remove all noise channel.
  • [STABLE] with_noise: Method of Circuit to add a given noise channel after every gate.
  • [STABLE] as_encoder: A decorator to wrap a function, so that it can generate an encoder circuit.
  • [STABLE] as_ansatz: A decorator to wrap a function, so that it can generate an ansatz circuit.
  • [STABLE] qfi: A method that can calculate the quantum fisher information of a given parameterized quantum circuit.
  • [STABLE] partial_psi_partial_psi: A method that can calculate the first part of quantum fisher information.
  • [STABLE] partial_psi_psi: A method that can calculate the second part of quantum fisher information.

Gates

  • [STABLE] AmplitudeDampingChannel: Amplitude damping channel express error that qubit is affected by the energy dissipation.
  • [STABLE] PhaseDampingChannel: Phase damping channel express error that qubit loses quantum information without exchanging energy with environment

FermionOperator and QubitOperator

  • [STABLE] split: A method of FermionOperator and QubitOperator that can split the coefficient with the operator.

ParameterResolver

  • [STABLE] astype: Convert the ParameterResolver to a given type, can be float or double complex
  • [STABLE] const: Get the constant part of this ParameterResolver.
  • [STABLE] is_const: Check whether this ParameterResolver is constant.
  • [STABLE] encoder_part: Set a part of parameter to be encoder parameter.
  • [STABLE] ansatz_part: Set a part of parameter to be ansatz parameter.
  • [STABLE] as_encoder: Set all parameter to encoder parameters.
  • [STABLE] as_ansatz: Set all parameter to ansatz parameters.
  • [STABLE] encoder_parameters: Return all encoder parameters.
  • [STABLE] ansatz_parameters: Return all ansatz parameters.
  • [STABLE] is_hermitian: Check whether this ParameterResolver is hermitian conjugate.
  • [STABLE] is_anti_hermitian: Check whether this ParameterResolver is anti hermitian conjugate.
  • [STABLE] no_grad_parameters: Return all parameters that do no require gradient.
  • [STABLE] requires_grad_parameters: Return all parameters that require gradient.

Simulator

  • [STABLE] copy: The simulator can now very easy to duplicate.
  • [STABLE] apply_gate: In this version, you can apply a gate in differential version.
  • [BETA] inner_product: Calculate the inner product of two state in two simulator.

IO

  • [STABLE] BlochScene: Now we support display and animate a one qubit state in bloch sphere.

Contributors

Thanks goes to these wonderful people:

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.

Contributions of any kind are welcome!

2022-04-07 17:05
donghufeng

MindQuantum 0.6.0

MindQuantum 0.6.0 Release Notes

Major Features and Improvements

Better iteration supported for QubitOperator and FermionOperator

The following example will be demonstrated with QubitOperator

  • Iter multiple terms QubitOperator
>>> from mindquantum.core.operators import QubitOperator
>>> ops = QubitOperator('X0 Y1', 1) + QubitOperator('Z2 X3', {'a': 3})

>>> for idx, o in enumerate(ops):
>>>     print(f'Term {idx}: {o}')

You will get each term of this operator,

Term 0: 1 [X0 Y1]
Term 1: 3*a [Z2 X3]
  • Iter single term QubitOperator
>>> ops = QubitOperator('X0 Y1', 2)

>>> for idx, o in enumerate(ops.singlet()):
>>>     print(f'Word {idx}: {o}')

You will get each word of this operator with coefficient set to identity,

Word 0: 1 [X0]
Word 1: 1 [Y1]

More built-in circuit supported

Richer circuit operation supported

For origin circuit,

>>> from mindquantum.core.circuit import Circuit
>>> circuit = Circuit().z(0).rx('a', 1, 0).y(1)
q0: ──Z──────●─────────
             │
q1: ───────RX(a)────Y──
  • shift operator will shift the qubit index.
from mindquantum.core.circuit import shift
>>> shift(circuit, 2)
q2: ──Z──────●─────────
             │
q3: ───────RX(a)────Y──
  • Reverse circuit qubits, the circuit will be flipped upside down.
>>> circuit.reverse_qubits()
q0: ───────RX(a)────Y──
             │
q1: ──Z──────●─────────

Feature enhancement

SVG supported

The quantum circuit build by mindquantum now can be showd by SVG in jupyter notebook, just call svg() of any Circuit.

>>> from mindquantum import *

>>> circuit = (qft(range(3)) + BarrierGate(True)).measure_all()
>>> circuit.svg()

Noise simulator supported

In This version, we can simulate a quantum circuit in noise simulator just by adding different noise channels. The following are supported channels:

Contributors

Thanks goes to these wonderful people:

yufan, wengwenkang, xuxusheng, wangzidong, yangkang, lujiale, fanyi, zhangwengang, wangkaisheng, zhoufeng, wangsiyuan, gongxiaoqing, chengxianbin, sunxiyin, wenwenkang, lvdingshun, cuijiangyu, chendiqing, zhangkai, Damien Ngyuen, Zotov Yuriy, liqin, zengjinglin, cuixiaopeng.

Contributions of any kind are welcome!

最后提交信息为: !457update to version 0.6.0
2022-03-31 16:12
donghufeng

MindQuantum 0.6.0

MindQuantum 0.6.0 Release Notes

Major Features and Improvements

Better iteration supported for QubitOperator and FermionOperator

The following example will be demonstrated with QubitOperator

  • Iter multiple terms QubitOperator
>>> from mindquantum.core.operators import QubitOperator
>>> ops = QubitOperator('X0 Y1', 1) + QubitOperator('Z2 X3', {'a': 3})

>>> for idx, o in enumerate(ops):
>>>     print(f'Term {idx}: {o}')

You will get each term of this operator,

Term 0: 1 [X0 Y1]
Term 1: 3*a [Z2 X3]
  • Iter single term QubitOperator
>>> ops = QubitOperator('X0 Y1', 2)

>>> for idx, o in enumerate(ops.singlet()):
>>>     print(f'Word {idx}: {o}')

You will get each word of this operator with coefficient set to identity,

Word 0: 1 [X0]
Word 1: 1 [Y1]

More built-in circuit supported

Richer circuit operation supported

For origin circuit,

>>> from mindquantum.core.circuit import Circuit
>>> circuit = Circuit().z(0).rx('a', 1, 0).y(1)
q0: ──Z──────●─────────
             │
q1: ───────RX(a)────Y──
  • shift operator will shift the qubit index.
from mindquantum.core.circuit import shift
>>> shift(circuit, 2)
q2: ──Z──────●─────────
             │
q3: ───────RX(a)────Y──
  • Reverse circuit qubits, the circuit will be flipped upside down.
>>> circuit.reverse_qubits()
q0: ───────RX(a)────Y──
             │
q1: ──Z──────●─────────

Feature enhancement

SVG supported

The quantum circuit build by mindquantum now can be showd by SVG in jupyter notebook, just call svg() of any Circuit.

>>> from mindquantum import *

>>> circuit = (qft(range(3)) + BarrierGate(True)).measure_all()
>>> circuit.svg()

circuit_svg

Noise simulator supported

In This version, we can simulate a quantum circuit in noise simulator just by adding different noise channels. The following are supported channels:

Contributors

Thanks goes to these wonderful people:

yufan, wengwenkang, xuxusheng, wangzidong, yangkang, lujiale, fanyi, zhangwengang, wangkaisheng, zhoufeng, wangsiyuan, gongxiaoqing, chengxianbin, sunxiyin, wenwenkang, lvdingshun, cuijiangyu, chendiqing, zhangkai, Damien Ngyuen, Zotov Yuriy, liqin, zengjinglin, cuixiaopeng.

Contributions of any kind are welcome!

最后提交信息为: !430update readme
2022-02-28 16:29
donghufeng

MindQuantum 0.5.0 Release Notes

Major Features and Improvements

API Change

Backwards Incompatible Change

We unified the abbreviations of some nouns in MindQuantum.

  • isparameter property of gate changes to parameterized
0.3.1 0.5.0
>>> from mindquantum import RX
>>> gate = RX('a').on(0)
>>> gate.isparameter
True
>>> from mindquantum import RX
>>> gate = RX('a').on(0)
>>> gate.parameterized
True
  • para_name of a quantum circuit changes to params_name
0.3.1 0.5.0
>>> from mindquantum import Circuit
>>> circ = Circuit().rx('a', 0)
>>> circ.para_name
['a']
>>> from mindquantum import Circuit
>>> circ = Circuit().rx('a', 0)
>>> circ.params_name
['a']

The quantum neural network API was redesigned in this version. From now on, we can easily build a hybrid quantum neural network with the help of Simulator in PYNATIVE_MODE.

The following API was removed.

  1. generate_pqc_operator
  2. PQC
  3. MindQuantumLayer
  4. generate_evolution_operator
  5. Evolution
  6. MindQuantumAnsatzOnlyLayer
  7. MindQuantumAnsatzOnlyOperator

The new API was shown as below.

  1. MQOps
  2. MQN2Ops
  3. MQAnsatzOnlyOps
  4. MQN2AnsatzOnlyOps
  5. MQEncoderOnlyOps
  6. MQN2EncoderOnlyOps
  7. MQLayer
  8. MQN2Layer
  9. MQAnsatzOnlyLayer
  10. MQN2AnsatzOnlyLayer

The above modules are placed in mindquantum.framework.

Removed

Due to the duplication of functions, we deleted some APIs.

  • mindquantum.circuit.StateEvolution

The following APIs have been remoted.

  • mindquantum.core.operators.Hamiltonian.mindspore_data
  • mindquantum.core.operators.Projector.mindspore_data
  • mindquantum.core.circuit.Circuit.mindspore_data
  • mindquantum.core.parameterresolver.ParameterResolver.mindspore_data

New feature

New gates are shown as below.

  • mindquantum.core.gates.SGate
  • mindquantum.core.gates.TGate

Measurement on certain qubits are now supported. The related APIs are shown as below.

  • mindquantum.core.gates.Measure
  • mindquantum.core.gates.MeasureResult

QASM is now supported.

  • mindquantum.io.OpenQASM
  • mindquantum.io.random_hiqasm
  • mindquantum.io.HiQASM

Simulator is now separated from MindSpore backend. Now you can easily to use a simulator.

  • mindquantum.simulator.Simulator

Refactoring

For improving MindQuantum's package structure, we did some refactoring on MindQuantum.

old new

mindquantum.gate.Hamiltonian

mindquantum.core.operators.Hamiltonian

mindquantum.gate.Projector

mindquantum.core.operators.Projector

mindquantum.circuit.qft

mindquantum.algorithm.library.qft

mindquantum.circuit.generate_uccsd

mindquantum.algorithm.nisq.chem.generate_uccsd

mindquantum.circuit.TimeEvolution

mindquantum.core.operators.TimeEvolution

mindquantum.utils.count_qubits

mindquantum.core.operators.count_qubits

mindquantum.utils.commutator

mindquantum.core.operators.commutator

mindquantum.utils.normal_ordered

mindquantum.core.operators.normal_ordered

mindquantum.utils.get_fermion_operator

mindquantum.core.operators.get_fermion_operator

mindquantum.utils.number_operator

mindquantum.core.operators.number_operator

mindquantum.utils.hermitian_conjugated

mindquantum.core.operators.hermitian_conjugated

mindquantum.utils.up_index

mindquantum.core.operators.up_index

mindquantum.utils.down_index

mindquantum.core.operators.down_index

mindquantum.utils.sz_operator

mindquantum.core.operators.sz_operator

mindquantum.ansatz.Ansatz

mindquantum.algorithm.nisq.Ansatz

mindquantum.ansatz.MaxCutAnsatz

mindquantum.algorithm.nisq.qaoa.MaxCutAnsatz

mindquantum.ansatz.Max2SATAnsatz

mindquantum.algorithm.nisq.qaoa.Max2SATAnsatz

mindquantum.ansatz.HardwareEfficientAnsatz

mindquantum.algorithm.nisq.chem.HardwareEfficientAnsatz

mindquantum.ansatz.QubitUCCAnsatz

mindquantum.algorithm.nisq.chem.QubitUCCAnsatz

mindquantum.ansatz.UCCAnsatz

mindquantum.algorithm.nisq.chem.UCCAnsatz

mindquantum.hiqfermion.Transform

mindquantum.algorithm.nisq.chem.Transform

mindquantum.hiqfermion.get_qubit_hamiltonian

mindquantum.algorithm.nisq.chem.get_qubit_hamiltonian

mindquantum.hiqfermion.uccsd_singlet_generator

mindquantum.algorithm.nisq.chem.uccsd_singlet_generator

mindquantum.hiqfermion.uccsd_singlet_get_packed_amplitudes

mindquantum.algorithm.nisq.chem.uccsd_singlet_get_packed_amplitudes

mindquantum.hiqfermion.uccsd0_singlet_generator

mindquantum.algorithm.nisq.chem.uccsd0_singlet_generator

mindquantum.hiqfermion.quccsd_generator

mindquantum.algorithm.nisq.chem.quccsd_generator

mindquantum.utils.bprint

mindquantum.io.bprint

mindquantum.circuit

mindquantum.core.circuit

mindquantum.gate

mindquantum.core.gates

mindquantum.ops

mindquantum.core.operators

mindquantum.parameterresolver

mindquantum.core.parameterresolver

Contributors

Thanks goes to these wonderful people:

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.

Contributions of any kind are welcome!

最后提交信息为: version 0.5.0
2022-02-10 19:12
donghufeng

MindQuantum 0.5.0-rc1

MindQuantum 0.5.0 Release Notes

Major Features and Improvements

API Change

Backwards Incompatible Change

We unified the abbreviations of some nouns in MindQuantum.

  • isparameter property of gate changes to parameterized
0.3.1 0.5.0
>>> from mindquantum import RX
>>> gate = RX('a').on(0)
>>> gate.isparameter
True
>>> from mindquantum import RX
>>> gate = RX('a').on(0)
>>> gate.parameterized
True
  • para_name of a quantum circuit changes to params_name
0.3.1 0.5.0
>>> from mindquantum import Circuit
>>> circ = Circuit().rx('a', 0)
>>> circ.para_name
['a']
>>> from mindquantum import Circuit
>>> circ = Circuit().rx('a', 0)
>>> circ.params_name
['a']

The quantum neural network API was redesigned in this version. From now on, we can easily build a hybrid quantum neural network with the help of Simulator in PYNATIVE_MODE.

The following API was removed.

  1. generate_pqc_operator
  2. PQC
  3. MindQuantumLayer
  4. generate_evolution_operator
  5. Evolution
  6. MindQuantumAnsatzOnlyLayer
  7. MindQuantumAnsatzOnlyOperator

The new API was shown as below.

  1. MQOps
  2. MQN2Ops
  3. MQAnsatzOnlyOps
  4. MQN2AnsatzOnlyOps
  5. MQEncoderOnlyOps
  6. MQN2EncoderOnlyOps
  7. MQLayer
  8. MQN2Layer
  9. MQAnsatzOnlyLayer
  10. MQN2AnsatzOnlyLayer

The above modules are placed in mindquantum.framework.

Removed

Due to the duplication of functions, we deleted some APIs.

  • mindquantum.circuit.StateEvolution

The following APIs have been remoted.

  • mindquantum.core.operators.Hamiltonian.mindspore_data
  • mindquantum.core.operators.Projector.mindspore_data
  • mindquantum.core.circuit.Circuit.mindspore_data
  • mindquantum.core.parameterresolver.ParameterResolver.mindspore_data

New feature

New gates are shown as below.

  • mindquantum.core.gates.SGate
  • mindquantum.core.gates.TGate

Measurement on certain qubits are now supported. The related APIs are shown as below.

  • mindquantum.core.gates.Measure
  • mindquantum.core.gates.MeasureResult

QASM is now supported.

  • mindquantum.io.OpenQASM
  • mindquantum.io.random_hiqasm
  • mindquantum.io.HiQASM

Simulator is now separated from MindSpore backend. Now you can easily to use a simulator.

  • mindquantum.simulator.Simulator

Refactoring

For improving MindQuantum's package structure, we did some refactoring on MindQuantum.

old new

mindquantum.gate.Hamiltonian

mindquantum.core.operators.Hamiltonian

mindquantum.gate.Projector

mindquantum.core.operators.Projector

mindquantum.circuit.qft

mindquantum.algorithm.library.qft

mindquantum.circuit.generate_uccsd

mindquantum.algorithm.nisq.chem.generate_uccsd

mindquantum.circuit.TimeEvolution

mindquantum.core.operators.TimeEvolution

mindquantum.utils.count_qubits

mindquantum.core.operators.count_qubits

mindquantum.utils.commutator

mindquantum.core.operators.commutator

mindquantum.utils.normal_ordered

mindquantum.core.operators.normal_ordered

mindquantum.utils.get_fermion_operator

mindquantum.core.operators.get_fermion_operator

mindquantum.utils.number_operator

mindquantum.core.operators.number_operator

mindquantum.utils.hermitian_conjugated

mindquantum.core.operators.hermitian_conjugated

mindquantum.utils.up_index

mindquantum.core.operators.up_index

mindquantum.utils.down_index

mindquantum.core.operators.down_index

mindquantum.utils.sz_operator

mindquantum.core.operators.sz_operator

mindquantum.ansatz.Ansatz

mindquantum.algorithm.nisq.Ansatz

mindquantum.ansatz.MaxCutAnsatz

mindquantum.algorithm.nisq.qaoa.MaxCutAnsatz

mindquantum.ansatz.Max2SATAnsatz

mindquantum.algorithm.nisq.qaoa.Max2SATAnsatz

mindquantum.ansatz.HardwareEfficientAnsatz

mindquantum.algorithm.nisq.chem.HardwareEfficientAnsatz

mindquantum.ansatz.QubitUCCAnsatz

mindquantum.algorithm.nisq.chem.QubitUCCAnsatz

mindquantum.ansatz.UCCAnsatz

mindquantum.algorithm.nisq.chem.UCCAnsatz

mindquantum.hiqfermion.Transform

mindquantum.algorithm.nisq.chem.Transform

mindquantum.hiqfermion.get_qubit_hamiltonian

mindquantum.algorithm.nisq.chem.get_qubit_hamiltonian

mindquantum.hiqfermion.uccsd_singlet_generator

mindquantum.algorithm.nisq.chem.uccsd_singlet_generator

mindquantum.hiqfermion.uccsd_singlet_get_packed_amplitudes

mindquantum.algorithm.nisq.chem.uccsd_singlet_get_packed_amplitudes

mindquantum.hiqfermion.uccsd0_singlet_generator

mindquantum.algorithm.nisq.chem.uccsd0_singlet_generator

mindquantum.hiqfermion.quccsd_generator

mindquantum.algorithm.nisq.chem.quccsd_generator

mindquantum.utils.bprint

mindquantum.io.bprint

mindquantum.circuit

mindquantum.core.circuit

mindquantum.gate

mindquantum.core.gates

mindquantum.ops

mindquantum.core.operators

mindquantum.parameterresolver

mindquantum.core.parameterresolver

Contributors

Thanks goes to these wonderful people:

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.

Contributions of any kind are welcome!

最后提交信息为: !3370.5.0rc1
2021-09-26 09:23
lujiale

MindQuantum 0.3.1-rc1

MindQuantum 0.3.1 Release Notes

Major Features and Improvements

  • Three tutorials have been rewritten to make them easier to read
  • Circuit information such as qubit number, parameters will update immediately after you add gate
  • The UN operator now support parameterized gate
  • New ansatz that solving max 2 sat problem now are supported

Contributors

Thanks goes to these wonderful people:

yufan, wengwenkang, xuxusheng, wangzidong, yangkang, lujiale, fanyi, zhangwengang, wangkaisheng, zhoufeng, wangsiyuan, gongxiaoqing, chengxianbin, sunxiyin, wenwenkang, lvdingshun, cuijiangyu, chendiqing, zhangkai, Damien Ngyuen, Zotov Yuriy, liqin, zengjinglin, cuixiaopeng.

Contributions of any kind are welcome!

MindQuantum 0.2.0

MindQuantum 0.2.0 Release Notes

Major Features and Improvements

  • Parameterized FermionOperator and QubitOperator for quantum chemistry
  • Different kinds of transformation between FermionOperator and QubitOperator
  • UCCSD, QAOA and hardware efficient ansatz supported
  • MindQuantumAnsatzOnlyLayer for simulating circuit with ansatz only circuit
  • TimeEvolution with first order Trotter decomposition
  • High level operations for modifying quantum circuit

Contributors

Thanks goes to these wonderful people:

yufan, wengwenkang, xuxusheng, wanzidong, yankang, lujiale, fanyi, zhangwengang, wangkaisheng, zhoufeng, wangsiyuan, gongxiaoqing, chengxianbin, sunxiyin, wenwenkang, lvdingshun, cuijiangyu, chendiqing, zhangkai, Damien Ngyuen, Zotov Yuriy, liqin, zengjinglin, cuixiaopeng.

Contributions of any kind are welcome!

MindQuantum 0.1.0

MindQuantum 0.1.0 Release Notes

Initial release of MindQuantum.

Major Features and Improvements

  • Easily build parameterized quantum circuit.
  • Effectively simulate quantum circuit.
  • Calculating the gradient of parameters of quantum circuit.
  • PQC (parameterized quantum circuit) operator that naturally compatible with other operators in mindspore framework.
  • Evolution operator that evaluate a quantum circuit and return the quantum state.
  • Data parallelization for PQC operator.

Contributors

Thanks goes to these wonderful people:

yufan, wengwenkang, xuxusheng, wanzidong, yankang, lujiale, wangkaisheng, zhoufeng, wangsiyuan, gongxiaoqing, chengxianbin, sunxiyin, wenwenkang, lvdingshun, cuijiangyu, chendiqing, zhangkai, Damien Ngyuen, Zotov Yuriy, liqin, zengjinglin, cuixiaopeng.

Contributions of any kind are welcome!

最后提交信息为: update mindquantum/version.py.
2021-07-15 14:32
lujiale

MindQuantum 0.2.0 Release Notes

Initial release of MindQuantum.

Major Features and Improvements

  • Parameterized FermionOperator and QubitOperator for quantum chemistry
  • Different kinds of transformation between FermionOperator and QubitOperator
  • UCCSD, QAOA and hardware efficient ansatz supported
  • MindQuantumAnsatzOnlyLayer for simulating circuit with ansatz only circuit
  • TimeEvolution with first order Trotter decomposition
  • High level operations for modifying quantum circuit

Contributors

Thanks goes to these wonderful people:

yufan, wengwenkang, xuxusheng, wanzidong, yankang, lujiale, fanyi, zhangwengang, wangkaisheng, zhoufeng, wangsiyuan, gongxiaoqing, chengxianbin, sunxiyin, wenwenkang, lvdingshun, cuijiangyu, chendiqing, zhangkai, Damien Ngyuen, Zotov Yuriy, liqin, zengjinglin, cuixiaopeng.

Contributions of any kind are welcome!

最后提交信息为: update RELEASE.md.
2021-04-17 16:14
lujiale

MindQuantum 0.1.0 Release Notes

Initial release of MindQuantum.

Major Features and Improvements

  • Easily build parameterized quantum circuit.
  • Effectively simulate quantum circuit.
  • Calculating the gradient of parameters of quantum circuit.
  • PQC (parameterized quantum circuit) operator that naturally compatible with other operators in mindspore framework.
  • Evolution operator that evaluate a quantum circuit and return the quantum state.
  • Data parallelization for PQC operator.

Contributors

Thanks goes to these wonderful people:

yufan, wengwenkang, xuxusheng, wanzidong, yankang, lujiale, wangkaisheng, zhoufeng, wangsiyuan, gongxiaoqing, chengxianbin, sunxiyin, wenwenkang, lvdingshun, cuijiangyu, chendiqing, zhangkai, Damien Ngyuen, Zotov Yuriy, liqin, zengjinglin, cuixiaopeng.

Contributions of any kind are welcome!

最后提交信息为: MindSpore required version
Python
1
https://gitee.com/mindspore/mindquantum.git
git@gitee.com:mindspore/mindquantum.git
mindspore
mindquantum
mindquantum

搜索帮助