二元二次模型的C++库

jij-cimod的Python项目详细描述


< H1> CIMOD:二元二次模型的C++头集库

如何使用

您应该只在项目中包含一个标题src/binary_quadratic_model.hpp。在

示例

C++ +EH3>
#include"src/binary_quadratic_model.hpp"usingnamespacecimod;intmain(){// Set linear biases and quadratic biasesLinear<uint32_t,double>linear{{1,1.0},{2,2.0},{3,3.0},{4,4.0}};Quadratic<uint32_t,double>quadratic{{std::make_pair(1,2),12.0},{std::make_pair(1,3),13.0},{std::make_pair(1,4),14.0},{std::make_pair(2,3),23.0},{std::make_pair(2,4),24.0},{std::make_pair(3,4),34.0}};// Set offsetdoubleoffset=0.0;// Set variable typeVartypevartype=Vartype::BINARY;// Create a BinaryQuadraticModel instanceBinaryQuadraticModel<uint32_t,double>bqm(linear,quadratic,offset,vartype);//linear terms -> bqm.get_linear()//quadratic terms -> bqm.get_quadratic()return0;}

Python

^{pr2}$

安装

通过这个目录

$ python setup.py install

通过pip

$ pip install jij-cimod 

基准

基准代码

importdimodimportcimodimporttimefil=open("benchmark","w")fil.write("N t_dimod t_cimod\n")defbenchmark(N,test_fw):linear={}quadratic={}spin={}# interactionsforiinrange(N):spin[i]=1foreleminrange(N):linear[elem]=2.0*elem;foriinrange(N):forjinrange(i+1,N):ifi!=j:quadratic[(i,j)]=(i+j)/(N)t1=time.time()# initializea=test_fw.BinaryQuadraticModel(linear,quadratic,0,test_fw.BINARY)a.change_vartype(test_fw.SPIN)# calculate energy for 50 times.for_inrange(50):print(a.energy(spin))t2=time.time()returnt2-t1d_arr=[]c_arr=[]forNin[25,50,100,200,300,400,600,800,1000,1600,2000,3200,5000]:print("N {}".format(N))d=benchmark(N,dimod)c=benchmark(N,cimod)print("{}{}{}".format(N,d,c))fil.write("{}{}{}\n".format(N,d,c))

软件版本

PackageVersion
cimod1.0.3
dimod0.9.2

结果

benchmark

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
反射Java反射:高负载下的NoSuchMethodException   java RxJava:one request>list of Integer>sequence of requests for each int>result to list   java为什么循环之前索引会增加   JavaSpring远程处理和RESTfulURL   java Hibernate搜索仅对我的实体的一部分进行索引   使用DPAD快速滚动时,java RecyclerView onCreateViewHolder调用过多   java将JSON解析到一个表中   java导航抽屉标题textview nullpointerexception   基于接口的Java链接队列   java Guice运行时依赖项参数重新注入   java展平/压缩ZSH中的深度嵌套目录   JavaSpring:Http406此请求标识的资源只能   java如何制作Android启动器图标   Java代码在windows上显示不正确(包含希腊语句子)   使用yourkit进行内存分析所用的java时间   java为什么可以序列化属性而不能序列化对象本身?