mindquantum.algorithm.nisq.SGAnsatz2D#

class mindquantum.algorithm.nisq.SGAnsatz2D(nqubits, k, line_set=None, nlayers=1, prefix='', suffix='')#

序列生成(SG)ansatz,用于二维量子系统。

SG ansatz由多个变分量子电路块组成,每个块都是应用于相邻量子比特的参数化量子电路。这种结构使得SG ansatz天然适合于量子多体问题。

具体而言,对于一维量子系统,SG ansatz可以高效地生成具有固定键维度的任意矩阵乘积态。对于二维系统,SG ansatz可以生成 string-bond 态。

了解更多详细信息,请访问 A sequentially generated variational quantum circuit with polynomial complexity

参数:
  • nqubits (int) - ansatz中的量子比特数。

  • k (int) - log(R) + 1,其中R是固定的键维度。

  • line_set (list, optional) - 量子比特线路集合,用于生成特定类型的字符串键态。如果为None,将自动生成为1×N的网格,其中N等于nqubits。默认值:None

  • nlayers (int) - 每个块中的层数。默认值:1

  • prefix (str) - 参数的前缀。默认值:''

  • suffix (str) - 参数的后缀。默认值:''

classmethod from_grid(nrow, ncol, k, nlayers=1, prefix='', suffix='')#

从二维网格配置创建SGAnsatz2D。

这是为二维量子系统创建SGAnsatz2D实例的推荐方法。它会根据网格维度自动生成适当的线路集合。

参数:
  • nrow (int) - 二维网格中的行数。

  • ncol (int) - 二维网格中的列数。

  • k (int) - log(R) + 1,其中R是固定的键维度。

  • nlayers (int) - 每个块中的层数。默认值:1

  • prefix (str) - 参数的前缀。默认值:''

  • suffix (str) - 参数的后缀。默认值:''

返回:

SGAnsatz2D,为指定二维网格配置的新实例。

classmethod generate_line_set(nrow, ncol)#

为二维量子系统生成蛇形遍历模式。

此方法为二维量子系统生成两种不同的遍历路径: 1. 列向蛇形模式:在上下方向交替遍历每一列 2. 行向蛇形模式:在左右方向交替遍历每一行

参数:
  • nrow (int) - 二维网格中的行数。

  • ncol (int) - 二维网格中的列数。

返回:

list,包含两个遍历路径的列表,每个路径是一个量子比特索引列表。第一个路径是列向的,第二个是行向的。