mindquantum.core.operators#
MindQuantum算子库。算子由一个或多个基本门的组合而成。
包含以下类的表示:
Qubit算子
Fermion算子
时间演化算子
Class#
接口名 |
概述 |
|---|---|
费米子算子,如FermionOperator(‘9 4^ 3 3^’)表示 \(a_9 a_4^\dagger a_3 a_3^\dagger\)。 这些是描述费米子系统的基本运算符,如分子系统。 FermionOperator遵循反交换关系。 |
|
QubitOperator哈密顿量的包装器。 |
|
存储用于配置费米子分子哈密顿量的“交互算子”的类。哈密顿量包括存储了自旋和奇偶性的单体项和双体项。在这个模块中,存储的系数可以通过费米子算子表示为分子的哈密顿量。 |
|
以张量形式存储费米梯算子系数的类。 例如,在粒子数守恒的分子哈密顿量(4级多项式)中,只有三种项,即常数项、 单激励 \(a^\dagger_p a_q\) 和双激励项 \(a^\dagger_p a^\dagger_q a_r a_s\),它们对应的系数可以存储在标量、 请注意,由于奇偶性守恒,每个张量必须具有偶数维数。 这个类的大部分功能与FermionOperator的功能相似。 |
|
投影算子。 |
|
量子比特激发算子定义为: \(Q^{\dagger}_{n} = \frac{1}{2} (X_{n} - iY_{n})\) 和 \(Q_{n} = \frac{1}{2} (X_{n} + iY_{n})\) 。 与费米子激发算子相比,量子比特激发算子是某种“局部化”的,即费米子激发算子 \(a^{\dagger}_{7} a_{0}\) 涉及到JW变换下从0到7的量子比特, 而量子比特激发 \(Q^{\dagger}_{7} Q_{0}\) 只会影响第0和第7个量子比特。 此外,用量子比特激发算子描述双激发所使用的CNOT门比相应的费米子激发算子少得多。 |
|
作用于量子比特的项的总和,例如 0.5 * ‘X1 X5’ + 0.3 * ‘Z1 Z2’。 项是一个作用于n个量子比特的运算符,可以表示为:coefficient * local_operator[0] x … x local_operator[n-1],其中x是张量乘积。 本地运算符是作用于一个量子比特的泡利运算符(’I’,’X’,’Y’或者’Z’)。 在数学符号中,一个QubitOperator是例如0.5 * ‘X1 X5’的项,它意味着X运算符作用于量子比特1和5,而恒等运算符作用于其余所有量子比特。 |
|
可以生成对应线路的时间演化算子。 |
Function#
接口名 |
概述 |
|---|---|
计算两个算子的对易。 |
|
计算未使用的量子比特被删除之前的量子比特数目。 |
|
索引顺序,默认情况下,我们将无自旋轨道设置为偶数-奇数-偶数-奇数(0,1,2,3,…)。自旋向下的轨道(β轨道)索引是奇数。 |
|
将张量(多项式张量)转换为费米子运算符。 |
|
计算只有泡利 \(Z\) 项的哈密顿量的基态能量。 |
|
返回FermionOperator或QubitOperator的厄米共轭。 |
|
计算并返回FermionOperator的规范顺序。 根据惯例,规范顺序意味着项从最高模式索引(左侧)到最低(右侧)排序。 此外,创建运算符首先出现,然后跟随湮灭运算符。 例如 ‘3 4^’ \(\rightarrow\) ‘- 4^ 3’ 。 |
|
返回 reverse_jordan_wigner 变换的费米数运算符。 |
|
返回sz运算符。 |
|
索引顺序,默认情况下,我们将无自旋轨道设置为偶数-奇数-偶数-奇数(0,1,2,3,…)。 自旋向上的自旋轨道(α轨道)索引为偶数。 |