[复现论文程序图]High Speed Continuous Variable Source-Independent Quantum Random Number Generation...
这次的任务是复现该文章的图2(C),过程如下。
①翻译了整篇文章,断断续续,花了3-4天时间。
②阅读文章,并且记录下每个符号的意义,记在单独的1个word文档里。
③开始编程,用的matlab2018b。
1 clc;clear 2 %%这个文件,是最终版本, 3 %% 此版块内,n=4,N由1到10,间隔为1, 4 %%(i+0.5)*deierka)这一行,中的i有问题,已经用平移量解决. 5 %% 6 kesai=0.1; %过量噪声 7 seigema=sqrt(1+kesai); 8 b_lim=7*seigema; % a_lim用于后面计算S的过程里,就是区间长度的1半,根据文章来的。 9 length=1000; %产生随机数组的次数,即100 10 for n=4:4:16 %外层循环是n的循环,n是零差检测精度 11 i_min=-2^(n-1);i_max=2^(n-1)-1; 12 PingYi=1-i_min; %为了把角标变为正数,所用的平移量。比如要把-8到7平移成1到16,那么平移量就是1-(-8)=9 13 for N=0.1:0.1:10 % 内层循环是N的循环,N采样范围 14 deierka=N/2^(n-1); m=0; %是间隔,m用于计算后面的a_ba 15 %%这一块在计算P和H 16 for i=1:i_max-i_min+1 17 a(i)=-N+(i-1)*deierka; %deierka就是步进间隔 18 end 19 for i=1:i_max-i_min+1 20 if i==1 21 P(i)=(1/2)*erfc((N-0.5*deierka)/(sqrt(2)*seigema)); 22 elseif i>1&&i<i_max-i_min+1 23 P(i)=(1/2)*erf(((i-PingYi+0.5)*deierka)/(sqrt(2)*seigema))-(1/2)*erf(((i-PingYi-0.5)*deierka)/(sqrt(2)*seigema)); 24 elseif i==i_max-i_min+1 25 P(i)=(1/2)*erfc((N-1.5*deierka)/(sqrt(2)*seigema)); 26 end 27 end 28 index=int8(10*N); 29 H(index)=0; R(index)=0 %清零操作 30 for i=1:i_max-i_min+1 31 diedai=P(i)*log2(P(i)) 32 if P(i)==0 33 diedai=0; 34 end 35 H(index)=H(index)-diedai; 36 end 37 %% 这一块在计算S(a:E) 38 b_min_buf=0; b_max_buf=0; b_ba_buf=0; 39 buffer1=0; buffer2=0 % 两个buffer用于计算式子C.3中的两个求和 40 for k=1:length 41 b=-b_lim+2*b_lim*rand(1,1000); 42 b_min_buf=b_min_buf+min(b); b_max_buf=b_max_buf+max(b); 43 b_ba_buf=b_ba_buf+mean(b); 44 end 45 b_min=b_min_buf/length; b_max=b_max_buf/length; 46 b_ba=mean(a); 47 for i=2:i_max-i_min %不从1开始。另外,倒数第二个是结尾 48 if a(i)<=b_ba 49 buffer1=buffer1+P(i)*(a(i)-b_ba-0.5*deierka)^2; 50 else 51 buffer2=buffer2+P(i)*(a(i)-b_ba+0.5*deierka)^2; 52 end 53 end 54 Vx_ba(index)= P(1)*(b_min-b_ba)^2+P(i_max-i_min+1)*(b_max-b_ba)^2+buffer1+buffer2; 55 S(index)=((Vx_ba(index)+1)/2)*log2((Vx_ba(index)+1)/2)-((Vx_ba(index)-1)/2)*log2((Vx_ba(index)-1)/2); 56 % 这一块在计算R, 57 R(index)=H(index)-S(index); 58 59 end 60 t=0.1:0.1:10; 61 if n==4 62 plot(t,R,'r*'); 63 end 64 if n==8 65 plot(t,R,'*'); 66 end 67 if n==12 68 plot(t,R,'d'); 69 end 70 if n==16 71 plot(t,R,'p'); 72 end 73 legend('n=4','n=8','n=12','n=16'); 74 xlim([1,10]);ylim([0,24]); 75 xlabel('Sample range'); 76 ylabel('R_dis(ai:E'); 77 hold on 78 end 79 grid
View Code
④在码代码的过程中,有以下几个要注意的地方:
(1)图2C的横坐标是从1到10,不是0到10。
(2)文章里的i是可以取负数的,比如n=4时,i就是从-8到7,但是matlab中的数组下标必须是正的,所以在用式子(10)的时候,需要平移,使得i为正数。
(3)matlab在计算A=P*log2(P)这种时,如果P=0,那么A=NaN,正无穷。因此我的代码里在计算P(也就是文章里的H时,我让,if P(i)=0,则迭代量等于0),如果不这么做,那么H会等于正无穷,
这个问题困扰了我很久,解决它之前,当n=8,N=9时,我的H就等于正无穷,而n=8,N=8时,我的H就等于1个有限值。
(4)注意代码里的b_lim到底取几倍的seigema,这个影响挺大的,我最后卡了很久,终于是发现,就是b_lim在影响我的曲线,一调对了b_lim,我的曲线就跟图2C长得差不多了。
⑤ 原文,翻译,术语符号集合,还有程序,我已经上传至百度云。
转载于:https://www.cnblogs.com/zf007/p/11415981.html
[复现论文程序图]High Speed Continuous Variable Source-Independent Quantum Random Number Generation...相关推荐
- 复现论文DRL代码程序
复现论文第一步(以DRL为例),download 代码 and then 创建环境. 1)git clone GitHub - foolwood/DRL: [arXiv22] Disentangled ...
- home credit default risk捷信消费金融违约风险模型复现(论文_毕业设计_作业)
你能预测每个申请人偿还贷款的能力吗?由于信用记录不足或不存在,许多人难以获得贷款.而且,不幸的是,这些人经常被不可靠的贷方利用,例如高利贷,校园贷. 捷信努力为没有银行账户的人群扩大金融包容性.为了确 ...
- home credit default risk(捷信违约风险)机器学习模型复现(论文_毕业设计_作业)
你能预测每个申请人偿还贷款的能力吗?由于信用记录不足或不存在,许多人难以获得贷款.而且,不幸的是,这些人经常被不可靠的贷方利用,例如高利贷,校园贷. 捷信努力为没有银行账户的人群扩大金融包容性.为了确 ...
- 复现计算机论文模型,深度学习模型复现难?看看这篇句子对模型的复现论文
原标题:深度学习模型复现难?看看这篇句子对模型的复现论文 在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 ...
- SIGIR‘22 推荐系统论文之图网络篇
2022推荐系统论文梳理系列 推荐系统相关顶会整理 IJCAI'22 推荐系统论文梳理 ICML/ICLR'22 推荐系统论文梳理 WWW'22 推荐系统论文之序列推荐篇 WWW'22 推荐系统论文之 ...
- matlab复现论文中的曲线图(坐标存入excal,然后导入matlab画图)
首先找到你想复现的曲线图,然后运行以下代码,在运行之前先将曲线图的路径改好. 比如我要复现这张图: clc,clear; disp('提示:命令行窗口键入:ctrl+c,表示停止运行 '); im=i ...
- 【论文写作】论文实验结果图绘制细节
本殿下在此前一直使用MATLAB进行论文的绘图,不得不说,MATLAB绘图功能着实强大.但是,由于MATLAB程序比较大,所以,每次启动起来不是很方便.直到接触到Python中matplotlib模块 ...
- 关注:诺奖得主被爆40多篇论文P图造假!涉及国内“杰青”
来源:解螺旋.弗雷赛斯 诺奖得主也沦陷了! 截止2021年11月6日,Gregg L. Semenza教授针对其在Pubpeer被挂的52篇论文,进行了至少6篇文章的纠正,且撤回了1篇文章. 离谱的是 ...
- python简单代码画曲线图教程-用Python画论文折线图、曲线图?几个代码模板轻松搞定!...
前言 这几天在搞论文图,唉说实话抠图这种东西真能逼死人.坐在电脑前抠上一天越看越丑,最后把自己丑哭了-- 到了画折线图分析的时候,在想用哪些工具的时候.首先否决了excel,读书人的事,怎么能用exc ...
- python画折线图代码-用Python画论文折线图、曲线图?几个代码模板轻松搞定!
前言 这几天在搞论文图,唉说实话抠图这种东西真能逼死人.坐在电脑前抠上一天越看越丑,最后把自己丑哭了-- 到了画折线图分析的时候,在想用哪些工具的时候.首先否决了excel,读书人的事,怎么能用exc ...
最新文章
- 人工智能28个常见术语,别再说你不懂AI了!
- windows ffmpeg 的安装
- 使用 Visual Studio 编译 wget 为库文件
- TQ210——核心板和底板
- float和clear都是布局的属性
- java实现linux变量替换_linux java 配置 含环境变量 | 学步园
- [PyTorch] 基于Python和PyTorch的线性拟合
- 给云服务器上传文件,如何给云服务器上传文件
- Java 十大必读经典书籍推荐
- 中国工商注册企业全信息数据
- a指定许可服务器无效,错误的hostid与许可证服务器
- 灌篮高手微信登录是什么服务器,灌篮高手微信登录版本
- @Scripts “does not exist”
- HTML、css基础知识
- 第五讲 Matlab/Simulink入门——混合系统仿真实例
- C语言编程习题专项突破
- 一体化大威海的战略抉择
- python获取财务数据曝光_Python-股票-从网易财经获取主要财务指标数据
- 阜阳一中2021高考成绩查询,安徽阜阳“赫赫有名”的4所高中,成绩说话,2021谁能摘得桂冠?...
- bro流量分析(改名zeek)ips
热门文章
- 计算机CPU风扇的功能及作用,CPU和风扇之间涂的是什么东西
- #STM32 LCD12864编程即原理介绍
- 网站能使用微软雅黑字体吗?是否会构成侵权?微软雅黑有版本吗?
- 【无限互联】学员作品:搜狐新闻iOS客户端
- FreeBSD搭建Nginx+Apache24+php56+mysql56手把手一步步的笔记
- JAVA安卓植物大战僵尸主题四子棋游戏
- 全市场等权中位数_市场指数估值周报20200523
- 也谈谈内卷化、996和程序员的发展
- 什么是模式识别,模式识别概念的基本介绍
- linux redis-trib.rb,linux - redis-trib.rb 命令详解