概述 ==== CIM --- 相干伊辛机(Coherent Ising Machine, 简称CIM), 是目前玻色量子重点研发的一项量子计算机技术. CIM是一种基于简并光学参量振荡器(DOPO)的光量子计算机. 在数学实践中, 我们可以将其抽象为优化Ising模型的专用计算机. Ising模型 --------- 伊辛模型(Ising Model), 是一类描述物质相变的随机过程模型. 抽象为数学形式为: .. math:: H(\sigma)=-\sum_{i,j}J_{ij}\sigma_i\sigma_j-\mu\sum_ih_i\sigma_i 其中\ :math:`\sigma`\ 为待求自旋变量, 取值为\ :math:`\{-1,1\}`\ , \ :math:`H`\ 为哈密顿量, \ :math:`J`,\ :math:`\mu`,\ :math:`h`\ 分别为二次项系数、线性项系数, 是已知量. QUBO ---- 二次无约束二值优化问题(Quadratic unconstrained binary optimization, 简称QUBO), 其数学形式如下: .. math:: f_Q(x)=\sum_{i\leqslant j}q_{ij}x_ix_j 其中\ :math:`x`\ 为待求二进制变量, 取值为\ :math:`\{0,1\}`\ , \ :math:`f`\ 为目标函数, \ :math:`q`\ 为二次项系数, 是已知量. 写成线性代数的形式: .. math:: f_Q(\pmb x)=\pmb x^T\pmb Q\pmb x 其中, \ :math:`\pmb x`\ 为变量, \ :math:`\pmb Q`\ 为QUBO矩阵, QUBO目标是找到使得\ :math:`f`\ 最小或最大的\ :math:`\pmb x`\ , 即: .. math:: \pmb x^*=\mathop{\arg\min}\limits_{\pmb x}f_Q(\pmb x) CIM求解模型 ----------- CIM求解QUBO或优化Ising模型的过程就是, 将QUBO中的\ :math:`q_{ij}`\ 或Ising模型中的\ :math:`J_{ij}`\ 输入CIM, CIM返回\ :math:`\pmb x`\ 或\ :math:`\sigma`\ 的过程. Kaiwu SDK --------- Kaiwu SDK目前是一套基于CIM求解QUBO的软件开发套件, 目前分4个模块: - ``qubo`` - 针对QUBO, 提供一些列求解前处理工具 - ``cim`` - CIM求解模块, 包含模拟求解器和物理机接口等 - ``classical`` - 包含多种求解QUBO或Ising的经典求解器 - ``sampler`` - 求解后处理模块, 将求解器输出的结果进行数据处理