站点图标 AI技术聚合

【建议收藏】基于python解决的QUBO计算库——wildqat的安装与求解

文章目录

  • 引言
  • wildqat的安装
  • 安装问题的解决
  • wildqat的使用
  • 结束语

引言

在计算QUBO求解哈密顿算符H最小值的过程中需要利用到wildqat包,然后调用模拟退火算法来计算结果。

但是安装wildqat的过程中会遇到很多问题,本文就从我踩过的坑来介绍wildqat的安装过程,并进行简单的示例。

另外,我还更新了如何基于python模拟退火计算QUBO表达式的方法,内附详细代码,有需要的朋友可以了解一下,链接如下:
【建议收藏】利用python基于模拟退火计算QUBO表达式(内附代码)

wildqat的安装

在安装wildqat的过程中,我首先使用了常规的conda安装方法尝试了安装,代码如下:

conda install wildqat

但是却出现了以下的错误:

这是一个很常见的错误,大概表示在conda中并没有找到这个包。

于是我尝试使用下面的代码进行安装:

pip install wildqat

却遇到了下面这个问题:

显然,这是由于我们版本的错误而导致的问题,简单来讲就是numpy的版本并不符合要求,然而pip并不会帮我们配置环境。

安装问题的解决

探索了很久,找到了一种解决方案。那就是新建一个conda虚拟环境,必须是空的环境,使用下面的代码新建一个虚拟环境:

conda create -n wildqat

结果如下:

输入上述语句,我们就可以创建一个虚拟环境wildqat,激活这个虚拟环境:

activate wildqat

结果如下:

然后我们需要使用pip3(确保自己的python版本为3.X,并使用最新的pip)安装wildqat的1.1.9版本,如下:

pip3 install wildqat==1.1.9

这时候会出现第二个错误,错误如下:

大概意思表明matplotlib-3.0.0.tar.gz并没有被找到,所以我们要预先安装matplotlib=3.0.0,所以我们继续使用conda安装matplotlib的3.0.0版本,代码如下:

conda install matplotlib==3.0.0

结果如下:

当我们安装好后,就可以继续执行上面的安装代码:

pip3 install wildqat==1.1.9

结果如下:

可以看到一个错误提示,这表明我们的numpy版本过低,但是这不重要,我们只需要这个库可以运行就好了。

wildqat的使用

想要使用wildqat计算我们需要的结果,我们首先要确定我们的QUBO计算表达式,这里假设我们的表达式为:

[[1,2,3],
[1,2,3],
[1,2,3]]

接下来我们就需要新建一个opt类并调用sa来查看使用模拟退火算法对其的求解,代码如下:

import wildqat as wq
# 定义序列
list_value = [[1,2,3],
[1,2,3],
[1,2,3]]
# 创建opt类
wpt_new = wq.opt()
# 将我们的qubo赋值
wpt_new.qubo = list_value
print(wpt_new.sa())
# 得出结果
>>>[0,0,0]

结束语

在本文中,详细描述了在配置wildqat的过程中遇到的问题以及解决方案,并且描述了QUBO的简要计算过程。

更多函数的详情使用,我将会继续更新,如果本文对你有帮助,希望你帮我点赞,收藏,转发。

有问题可以在评论区与我一起讨论,我们下次再见。

文章出处登录后可见!

已经登录?立即刷新
退出移动版