模拟过程中涉及到的部分内容

  • 各种方法寻找最强态
    • 斜率法
    • 量子态取态核心思想
    • 通道演化过程的优化
    • 一些其他的量子态
      • 随机态
      • GHZ-like态
      • w态
    • 数值模拟法(正确)
    • 最终成果

各种方法寻找最强态

毕业论文题目:《四体系统退极化过程的最强态与最弱态》;
该项目的目的是:退极化通道中寻找最强或最弱的量子态;
量子态在通道中的演化,可以用matlab进行编程模拟。
本文挑选了一部分我在项目中写过的代码。

斜率法

思路:从特殊点(图中红点)出发,寻找斜率最小的方向,模拟量子态。

如上图:红色虚线和青蓝虚线共同构成近似最弱态。
如上图:模拟出的蓝线,理论上应该一直比其他两条线都低。但实际上却经过一段时间后才靠近下界。
结论:理论有漏洞。经考虑,猜测是图中曲线不是单值函数,每个点有多个值。斜率法不可行。
模拟过程代码如下:

% 1.求斜率时,一个系数改变微元,可以不考虑归一化条件吗?
%   不行
%
% 2.找出6个N增大的方向
%   c1 c2;c1 c3;c1 c4;c2 c3;c2 c4;c3 c4;
%   系数等于1,没有增大的方向;
%   系数等于0,没有减小的方向
%
% 思路1 N步长取x,得到系数,然后得p
% 思路2 系数步长取x
%
% 第一:完成任务即可,别瞎tm创新。
% 第二:一切向写论文看齐。
% 第三:完成任务之后,再尝试验证灵感,找真实下界。
%
% 思路1:
%   (1)、定c1 c2 c3 c4,对应R1、N1;在c1 c2附近解c1 c2。
%           即N2=N1 + 0.0001;c1 +- 0.001,且0 <= c1 <= 1区间,由N2解c2。
%           c2有解,存系数和R2进临时数组。(按理说R2 > R1,另设数组存R2 < R1的情况)
%           c2无解,数组中R2取1
%
%   (2)、解c1 c3,同(1)
%
%   (2)、得到最小的R2,令其为起点,重复(1)、(2)% 将系数分段,类似ghz_like ,得到下界。
clear;
clc;
% 1.数据赋初值
% ---------------------------------
QingK = zeros(6,5);                        % 情况:6种方向的情况
%TeLi = zeros(10,5);                       % 特例:最多只保存10个特例,R2 < R1
BuCh = 0.0002;                         % 步长:N变化的步长
QuDian = 280;
WeiY = 0.01;                           % 微元:第一个系数+-它,决定N变化范围
%FenD = zeros(20,20);                  % 分段:记录分段数,系数变化保持同一个方向则不分段
N_jd = 0.0000000001;                   % 计算N2时,系数的精度
zhi = zeros(QuDian,6);
% ---------------------------------
% 2.计算
% --------------------------------- % (1).定系数和R
for i1 = 1 : QuDianif i1 == 1%c1 = 0;c2 = 0;c3 = 0;c4 = 1;R1 = 0;%want=[0.942809041582063,0.424862337140468,0,0.577350269189626,0,0];want=[0.942809041582064,0.424925475487568,0.0241827125314148,0.00797622956304367,0.577119600705947,0.00482028458938355];c1 = want(3);c2 = want(4);c3 = want(5);c4 = want(6);R1 = want(2);else                                           LS_zx = min(QingK);                        % 临时最小值[LS_h,LS_l]=find(QingK == LS_zx(5));      % 临时行列[geshu,lala]=size(LS_h);if geshu >= 2c1=QingK(LS_h(geshu),1);c2=QingK(LS_h(geshu),2);c3=QingK(LS_h(geshu),3);c4=QingK(LS_h(geshu),4);R1=QingK(LS_h(geshu),5);elsec1=QingK(LS_h(1),1);c2=QingK(LS_h(1),2);c3=QingK(LS_h(1),3);c4=QingK(LS_h(1),4);R1=QingK(LS_h(1),5);endend% (2).二分法解系数N1 = -(i1 - 1) * BuCh + 0.942809041582064;N2 = N1 - BuCh ;zhi(i1,1) = N1;zhi(i1,2) = R1;zhi(i1,3) = c1;zhi(i1,4) = c2;zhi(i1,5) = c3;zhi(i1,6) = c4;for i2 = 1:6switch i2% 例1case {1}c1_up = c1 + WeiY;c1_down = c1 - WeiY;if c1_up > 1c1_up = 1;endif c1_down < 0c1_down = 0;end% 判断两端有意义if 1-c1_up^2-c3^2*3-c4^2 > 0 && 1-c1_down^2-c3^2*3-c4^2 >0% 判断N2在两端内c11=c1;c1 = c1_up;N1_up = 2*sqrt(2*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))^4+2*(c3)^4-2*(c1)*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))^2*c3+(c1)^2*(c4)^2-(c1)*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))*(c3)*(c4)+2*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))^2*(c4)^2-2*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))*(c3)^2*(c4)+(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))^2*(c3)^2-(c1)*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))*(c3)*(c4)-2*(c1)*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))^2*(c3)+2*(c1)^2*(c3)^2-2*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))*(c3)^2*(c4));c1 = c1_down;N1_down = 2*sqrt(2*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))^4+2*(c3)^4-2*(c1)*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))^2*c3+(c1)^2*(c4)^2-(c1)*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))*(c3)*(c4)+2*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))^2*(c4)^2-2*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))*(c3)^2*(c4)+(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))^2*(c3)^2-(c1)*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))*(c3)*(c4)-2*(c1)*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))^2*(c3)+2*(c1)^2*(c3)^2-2*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))*(c3)^2*(c4));% 对调if N1_down > N1_uptemp = N1_down;N1_down = N1_up;N1_up = temp;temp = c1_down;c1_down = c1_up;c1_up = temp;end % 得系数if N1_down < N2 && N2 < N1_upwhile N1_up - N1_down > N_jdc1 = (c1_down + c1_up)/2;temp = 2*sqrt(2*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))^4+2*(c3)^4-2*(c1)*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))^2*c3+(c1)^2*(c4)^2-(c1)*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))*(c3)*(c4)+2*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))^2*(c4)^2-2*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))*(c3)^2*(c4)+(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))^2*(c3)^2-(c1)*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))*(c3)*(c4)-2*(c1)*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))^2*(c3)+2*(c1)^2*(c3)^2-2*(sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3))*(c3)^2*(c4));if temp > N2c1_up = c1;N1_up = temp;elsec1_down = c1;N1_down = temp;endendQingK(1,1) = c1;QingK(1,2) = sqrt(1-c1^2-c3^2*3-c4^2)/sqrt(3);QingK(1,3) = c3;QingK(1,4) = c4;elseQingK(1,5) = 1;endc1 = c11;elseQingK(1,5) = 1;end% 例2case {2}c1_up = c1 + WeiY;c1_down = c1 - WeiY;if c1_up > 1c1_up = 1;endif c1_down < 0c1_down = 0;end% 判断两端有意义if 1-c1_up^2-c2^2*3-c4^2 > 0 && 1-c1_down^2-c2^2*3-c4^2 >0% 判断N2在两端内c11=c1;c1 = c1_up;N1_up = 2*sqrt(2*(c2)^4+2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^4-2*(c1)*(c2)^2*sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3)+(c1)^2*(c4)^2-(c1)*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))*(c4)+2*(c2)^2*(c4)^2-2*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2*(c4)+(c2)^2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2-(c1)*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))*(c4)-2*(c1)*(c2)^2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))+2*(c1)^2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2-2*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2*(c4));c1 = c1_down;N1_down = 2*sqrt(2*(c2)^4+2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^4-2*(c1)*(c2)^2*sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3)+(c1)^2*(c4)^2-(c1)*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))*(c4)+2*(c2)^2*(c4)^2-2*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2*(c4)+(c2)^2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2-(c1)*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))*(c4)-2*(c1)*(c2)^2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))+2*(c1)^2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2-2*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2*(c4));% 对调if N1_down > N1_uptemp = N1_down;N1_down = N1_up;N1_up = temp;temp = c1_down;c1_down = c1_up;c1_up = temp;end    % 得系数if N1_down < N2 && N2 < N1_upwhile N1_up - N1_down > N_jdc1 = (c1_down + c1_up)/2;temp = 2*sqrt(2*(c2)^4+2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^4-2*(c1)*(c2)^2*sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3)+(c1)^2*(c4)^2-(c1)*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))*(c4)+2*(c2)^2*(c4)^2-2*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2*(c4)+(c2)^2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2-(c1)*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))*(c4)-2*(c1)*(c2)^2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))+2*(c1)^2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2-2*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2*(c4));if temp > N2c1_up = c1;N1_up = temp;elsec1_down = c1;N1_down = temp;endendQingK(2,1) = c1;QingK(2,3) = sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3);QingK(2,2) = c2;QingK(2,4) =c4;elseQingK(2,5) = 1;endc1 = c11;elseQingK(2,5) = 1;end% 例3case {3}c1_up = c1 + WeiY;c1_down = c1 - WeiY;if c1_up > 1c1_up = 1;endif c1_down < 0c1_down = 0;end% 判断两端有意义if 1-c1_up^2-c2^2*3-c3^2*3 > 0 && 1-c1_down^2-c2^2*3-c3^2*3 >0% 判断N2在两端内c11=c1;c1 = c1_up;N1_up = 2*sqrt(2*(c2)^4+2*(c3)^4-2*(c1)*(c2)^2*c3+(c1)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))^2-(c1)*(c2)*(c3)*(sqrt(1-c1^2-c2^2*3-c3^2*3))+2*(c2)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))^2-2*(c2)*(c3)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))+(c2)^2*(c3)^2-(c1)*(c2)*(c3)*(sqrt(1-c1^2-c2^2*3-c3^2*3))-2*(c1)*(c2)^2*(c3)+2*(c1)^2*(c3)^2-2*(c2)*(c3)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3)));c1 = c1_down;N1_down = 2*sqrt(2*(c2)^4+2*(c3)^4-2*(c1)*(c2)^2*c3+(c1)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))^2-(c1)*(c2)*(c3)*(sqrt(1-c1^2-c2^2*3-c3^2*3))+2*(c2)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))^2-2*(c2)*(c3)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))+(c2)^2*(c3)^2-(c1)*(c2)*(c3)*(sqrt(1-c1^2-c2^2*3-c3^2*3))-2*(c1)*(c2)^2*(c3)+2*(c1)^2*(c3)^2-2*(c2)*(c3)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3)));% 对调if N1_down > N1_uptemp = N1_down;N1_down = N1_up;N1_up = temp;temp = c1_down;c1_down = c1_up;c1_up = temp;end % 得系数if N1_down < N2 && N2 < N1_upwhile N1_up - N1_down > N_jdc1 = (c1_down + c1_up)/2;temp = 2*sqrt(2*(c2)^4+2*(c3)^4-2*(c1)*(c2)^2*c3+(c1)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))^2-(c1)*(c2)*(c3)*(sqrt(1-c1^2-c2^2*3-c3^2*3))+2*(c2)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))^2-2*(c2)*(c3)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))+(c2)^2*(c3)^2-(c1)*(c2)*(c3)*(sqrt(1-c1^2-c2^2*3-c3^2*3))-2*(c1)*(c2)^2*(c3)+2*(c1)^2*(c3)^2-2*(c2)*(c3)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3)));if temp > N2c1_up = c1;N1_up = temp;elsec1_down = c1;N1_down = temp;endendQingK(3,1) = c1;QingK(3,4) = sqrt(1-c1^2-c2^2*3-c3^2*3);QingK(3,2) = c2;QingK(3,3) =c3;elseQingK(3,5) = 1;endc1 = c11;elseQingK(3,5) = 1;end% 例4case {4}c2_up = c2 + WeiY;c2_down = c2 - WeiY;if c2_up > 1c2_up = 1;endif c2_down < 0c2_down = 0;end% 判断两端有意义if 1-c2_up^2*3-c1^2-c4^2 > 0 && 1-c2_down^2*3-c1^2-c4^2 >0% 判断N2在两端内c22=c2;c2 = c2_up;N1_up = 2*sqrt(2*(c2)^4+2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^4-2*(c1)*(c2)^2*sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3)+(c1)^2*(c4)^2-(c1)*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))*(c4)+2*(c2)^2*(c4)^2-2*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2*(c4)+(c2)^2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2-(c1)*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))*(c4)-2*(c1)*(c2)^2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))+2*(c1)^2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2-2*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2*(c4));c2 = c2_down;N1_down = 2*sqrt(2*(c2)^4+2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^4-2*(c1)*(c2)^2*sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3)+(c1)^2*(c4)^2-(c1)*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))*(c4)+2*(c2)^2*(c4)^2-2*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2*(c4)+(c2)^2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2-(c1)*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))*(c4)-2*(c1)*(c2)^2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))+2*(c1)^2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2-2*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2*(c4));% 对调if N1_down > N1_uptemp = N1_down;N1_down = N1_up;N1_up = temp;temp = c2_down;c2_down = c2_up;c2_up = temp;end % 得系数if N1_down < N2 && N2 < N1_upwhile N1_up - N1_down > N_jdc2 = (c2_down + c2_up)/2;temp = 2*sqrt(2*(c2)^4+2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^4-2*(c1)*(c2)^2*sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3)+(c1)^2*(c4)^2-(c1)*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))*(c4)+2*(c2)^2*(c4)^2-2*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2*(c4)+(c2)^2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2-(c1)*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))*(c4)-2*(c1)*(c2)^2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))+2*(c1)^2*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2-2*(c2)*(sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3))^2*(c4));if temp > N2c2_up = c2;N1_up = temp;elsec2_down = c2;N1_down = temp;endendQingK(4,2) = c2;QingK(4,3) = sqrt(1-c1^2-c2^2*3-c4^2)/sqrt(3);QingK(4,1) = c1;QingK(4,4) = c4;elseQingK(4,5) = 1;endc2 = c22;elseQingK(4,5) = 1;end% 例5case {5}c2_up = c2 + WeiY;c2_down = c2 - WeiY;if c2_up > 1c2_up = 1;endif c2_down < 0c2_down = 0;end% 判断两端有意义if 1-c2_up^2*3-c1^2-c3^2*3 > 0 && 1-c2_down^2*3-c1^2-c3^2*3 >0% 判断N2在两端内c22=c2;c2 = c2_up;N1_up = 2*sqrt(2*(c2)^4+2*(c3)^4-2*(c1)*(c2)^2*c3+(c1)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))^2-(c1)*(c2)*(c3)*(sqrt(1-c1^2-c2^2*3-c3^2*3))+2*(c2)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))^2-2*(c2)*(c3)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))+(c2)^2*(c3)^2-(c1)*(c2)*(c3)*(sqrt(1-c1^2-c2^2*3-c3^2*3))-2*(c1)*(c2)^2*(c3)+2*(c1)^2*(c3)^2-2*(c2)*(c3)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3)));c2 = c2_down;N1_down = 2*sqrt(2*(c2)^4+2*(c3)^4-2*(c1)*(c2)^2*c3+(c1)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))^2-(c1)*(c2)*(c3)*(sqrt(1-c1^2-c2^2*3-c3^2*3))+2*(c2)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))^2-2*(c2)*(c3)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))+(c2)^2*(c3)^2-(c1)*(c2)*(c3)*(sqrt(1-c1^2-c2^2*3-c3^2*3))-2*(c1)*(c2)^2*(c3)+2*(c1)^2*(c3)^2-2*(c2)*(c3)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3)));% 对调if N1_down > N1_uptemp = N1_down;N1_down = N1_up;N1_up = temp;temp = c2_down;c2_down = c2_up;c2_up = temp;end    % 得系数if N1_down < N2 && N2 < N1_upwhile N1_up - N1_down > N_jdc2 = (c2_down + c2_up)/2;temp = 2*sqrt(2*(c2)^4+2*(c3)^4-2*(c1)*(c2)^2*c3+(c1)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))^2-(c1)*(c2)*(c3)*(sqrt(1-c1^2-c2^2*3-c3^2*3))+2*(c2)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))^2-2*(c2)*(c3)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))+(c2)^2*(c3)^2-(c1)*(c2)*(c3)*(sqrt(1-c1^2-c2^2*3-c3^2*3))-2*(c1)*(c2)^2*(c3)+2*(c1)^2*(c3)^2-2*(c2)*(c3)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3)));if temp > N2c2_up = c2;N1_up = temp;elsec2_down = c2;N1_down = temp;endendQingK(5,2) = c2;QingK(5,4) = sqrt(1-c1^2-c2^2*3-c3^2*3);QingK(5,1) = c1;QingK(5,3) = c3;elseQingK(5,5) = 1;endc2 = c22;elseQingK(5,5) = 1;end% 例6case {6}c3_up = c3 + WeiY;c3_down = c3 - WeiY;if c3_up > 1c3_up = 1;endif c3_down < 0c3_down = 0;end% 判断两端有意义if 1-c3_up^2*3-c1^2-c2^2*3 > 0 && 1-c3_down^2*3-c1^2-c2^2*3 >0% 判断N2在两端内c33=c3;c3 = c3_up;N1_up = 2*sqrt(2*(c2)^4+2*(c3)^4-2*(c1)*(c2)^2*c3+(c1)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))^2-(c1)*(c2)*(c3)*(sqrt(1-c1^2-c2^2*3-c3^2*3))+2*(c2)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))^2-2*(c2)*(c3)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))+(c2)^2*(c3)^2-(c1)*(c2)*(c3)*(sqrt(1-c1^2-c2^2*3-c3^2*3))-2*(c1)*(c2)^2*(c3)+2*(c1)^2*(c3)^2-2*(c2)*(c3)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3)));c3 = c3_down;N1_down = 2*sqrt(2*(c2)^4+2*(c3)^4-2*(c1)*(c2)^2*c3+(c1)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))^2-(c1)*(c2)*(c3)*(sqrt(1-c1^2-c2^2*3-c3^2*3))+2*(c2)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))^2-2*(c2)*(c3)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))+(c2)^2*(c3)^2-(c1)*(c2)*(c3)*(sqrt(1-c1^2-c2^2*3-c3^2*3))-2*(c1)*(c2)^2*(c3)+2*(c1)^2*(c3)^2-2*(c2)*(c3)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3)));% 对调if N1_down > N1_uptemp = N1_down;N1_down = N1_up;N1_up = temp;temp = c3_down;c3_down = c3_up;c3_up = temp;end    % 得系数if N1_down < N2 && N2 < N1_upwhile N1_up - N1_down > N_jdc3 = (c3_down + c3_up)/2;temp = 2*sqrt(2*(c2)^4+2*(c3)^4-2*(c1)*(c2)^2*c3+(c1)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))^2-(c1)*(c2)*(c3)*(sqrt(1-c1^2-c2^2*3-c3^2*3))+2*(c2)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))^2-2*(c2)*(c3)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3))+(c2)^2*(c3)^2-(c1)*(c2)*(c3)*(sqrt(1-c1^2-c2^2*3-c3^2*3))-2*(c1)*(c2)^2*(c3)+2*(c1)^2*(c3)^2-2*(c2)*(c3)^2*(sqrt(1-c1^2-c2^2*3-c3^2*3)));if temp > N2c3_up = c3;N1_up = temp;elsec3_down = c3;N1_down = temp;endendQingK(6,3) = c3;QingK(6,4) = sqrt(1-c1^2-c2^2*3-c3^2*3);QingK(6,1) = c1;QingK(6,2) =c2;elseQingK(6,5) = 1;endc3 = c33;elseQingK(6,5) = 1;endendend% 计算6个Rfor i3=1:6if QingK(i3,5) == 1continue;endp=0;up=1;down=0;a1=QingK(i3,1);a2=QingK(i3,2);a3=QingK(i3,3);a4=QingK(i3,4);while 1s1=1-p;%进去极化通道密度矩阵A00=[(1+s1)/2 0;0 (1-s1)/2];A01=[0 s1;0 0];A10=[0 0;s1 0];A11=[(1-s1)/2 0;0 (1+s1)/2];B11=kron(kron(A00,A00),A00)*(a1*a1'); B12=kron(kron(A00,A00),A01)*(a1*a2'); B13=kron(kron(A00,A01),A00)*(a1*a2'); B15=kron(kron(A01,A00),A00)*(a1*a2'); B14=kron(kron(A00,A01),A01)*(a1*a3'); B16=kron(kron(A01,A00),A01)*(a1*a3'); B17=kron(kron(A01,A01),A00)*(a1*a3'); B18=kron(kron(A01,A01),A01)*(a1*a4'); B21=kron(kron(A00,A00),A10)*(a2*a1'); B22=kron(kron(A00,A00),A11)*(a2*a2'); B23=kron(kron(A00,A01),A10)*(a2*a2'); B25=kron(kron(A01,A00),A10)*(a2*a2'); B24=kron(kron(A00,A01),A11)*(a2*a3'); B26=kron(kron(A01,A00),A11)*(a2*a3'); B27=kron(kron(A01,A01),A10)*(a2*a3'); B28=kron(kron(A01,A01),A11)*(a2*a4'); B31=kron(kron(A00,A10),A00)*(a2*a1'); B32=kron(kron(A00,A10),A01)*(a2*a2'); B33=kron(kron(A00,A11),A00)*(a2*a2'); B35=kron(kron(A01,A10),A00)*(a2*a2'); B34=kron(kron(A00,A11),A01)*(a2*a3'); B36=kron(kron(A01,A10),A01)*(a2*a3'); B37=kron(kron(A01,A11),A00)*(a2*a3'); B38=kron(kron(A01,A11),A01)*(a2*a4'); B51=kron(kron(A10,A00),A00)*(a2*a1'); B52=kron(kron(A10,A00),A01)*(a2*a2'); B53=kron(kron(A10,A01),A00)*(a2*a2'); B55=kron(kron(A11,A00),A00)*(a2*a2'); B54=kron(kron(A10,A01),A01)*(a2*a3'); B56=kron(kron(A11,A00),A01)*(a2*a3'); B57=kron(kron(A11,A01),A00)*(a2*a3'); B58=kron(kron(A11,A01),A01)*(a2*a4'); B41=kron(kron(A00,A10),A10)*(a3*a1'); B42=kron(kron(A00,A10),A11)*(a3*a2'); B43=kron(kron(A00,A11),A10)*(a3*a2'); B45=kron(kron(A01,A10),A10)*(a3*a2'); B44=kron(kron(A00,A11),A11)*(a3*a3'); B46=kron(kron(A01,A10),A11)*(a3*a3'); B47=kron(kron(A01,A11),A10)*(a3*a3'); B48=kron(kron(A01,A11),A11)*(a3*a4'); B61=kron(kron(A10,A00),A10)*(a3*a1'); B62=kron(kron(A10,A00),A11)*(a3*a2'); B63=kron(kron(A10,A01),A10)*(a3*a2'); B65=kron(kron(A11,A00),A10)*(a3*a2'); B64=kron(kron(A10,A01),A11)*(a3*a3'); B66=kron(kron(A11,A00),A11)*(a3*a3'); B67=kron(kron(A11,A01),A10)*(a3*a3'); B68=kron(kron(A11,A01),A11)*(a3*a4'); B71=kron(kron(A10,A10),A00)*(a3*a1'); B72=kron(kron(A10,A10),A01)*(a3*a2'); B73=kron(kron(A10,A11),A00)*(a3*a2'); B75=kron(kron(A11,A10),A00)*(a3*a2'); B74=kron(kron(A10,A11),A01)*(a3*a3'); B76=kron(kron(A11,A10),A01)*(a3*a3'); B77=kron(kron(A11,A11),A00)*(a3*a3'); B78=kron(kron(A11,A11),A01)*(a3*a4'); B81=kron(kron(A10,A10),A10)*(a4*a1'); B82=kron(kron(A10,A10),A11)*(a4*a2'); B83=kron(kron(A10,A11),A10)*(a4*a2'); B85=kron(kron(A11,A10),A10)*(a4*a2'); B84=kron(kron(A10,A11),A11)*(a4*a3'); B86=kron(kron(A11,A10),A11)*(a4*a3'); B87=kron(kron(A11,A11),A10)*(a4*a3');B88=kron(kron(A11,A11),A11)*(a4*a4');B=B11+B12+B13+B15+B14+B16+B17+B18+B21+B22+B23+B25+B24+B26+B27+B28+B31+B32+B33+B35+B34+B36+B37+B38+B51+B52+B53+B55+B54+B56+B57+B58+B41+B42+B43+B45+B44+B46+B47+B48+B61+B62+B63+B65+B64+B66+B67+B68+B71+B72+B73+B75+B74+B76+B77+B78+B81+B82+B83+B85+B84+B86+B87+B88;% 求本征值B1=B(1:4,1:4);B2=B(1:4,5:8);B3=B(5:8,1:4);B4=B(5:8,5:8);B=[B1 B3;B2 B4];N=eig(B);N=sort(N);N=-2*N(1);% p进行2分if N>0down=p;p=(up+down)/2;elseif N<=0up=p;p=(up+down)/2;endif up-down<0.00000001QingK(i3,5)=p;break;endendendif rem(i1,100) == 0save G:\a.txt zhi -ascii;end
end
x=zhi(:,1);
y=zhi(:,2);
hold on
plot(x,y,'b--','LineWidth',0.1);

量子态取态核心思想

这部分是论文的精华和创意所在,论文花了大篇幅,来数学推导纠缠度相同量子态的系数关系。最终得出的取态过程如下:

clc;clear;
qudian=1;
%NR存入矩阵zhi1中,1列为N,2列为R
zhi1=zeros(qudian,2);
for i=1:qudian
% 随机取态
% 3项
N = 0.9;a = (N/2)^2;b = sqrt(1 - 4*a);
if a < 2/9c = rand * (1-b) / 2;if rand < 0.5x = c;y = (1 - 2*x - b) / 6;z = x + b;elsex = c + b;y = (1 - 2*x + b) / 6;z = x - b;end
elsec = rand * (1 + b) / 2;x = c;if c < by = (1 - 2*x - b) / 6;z = x + b;elseif b < c && c < (1 - b) / 2 % 有两个解,为保证代码简洁,只取一个解if rand < 0.5y = (1 - 2*x - b) / 6;z = x + b;elsey = (1 - 2*x + b) / 6;z = x - b;endelsey = (1 - 2*x + b) / 6;z = x - b;end
end
c1 = sqrt(x);c3 = sqrt(y);c5 = sqrt(z);c2 = 0;c4 = 0;

通道演化过程的优化

原始取态过程为,8*8密度矩阵,需输入64次,代码如下:


clc;
clear;
%取点数
l=0;for l=1:1
qudian=1;
%NR存入矩阵zhi1中,1列为N,2列为R
zhi1=zeros(qudian,2);for i=1:qudian
% 取对称态4个随机复数系数
x=rand(1,2);
y=sum(x.*x);
r=x/sqrt(y);
d1=rand(1)*2*pi;
d2=rand(1)*2*pi;
d3=rand(1)*2*pi;
d4=rand(1)*2*pi;
r2=[d1 d2 d3 d4];
% a1=r(1)*exp(1i*d2);
% a2=r(2)*exp(1i*d3)/sqrt(3);
% a3=r(3)*exp(1i*d4)/sqrt(3);
% a4=r(4)*exp(1i*d1);
% a1=r(1);
% a2=r(2)/sqrt(3);
% a3=0;
% a4=0;
a1=sqrt(0.950222048838355);
a2=sqrt(0.011414639182640);
a3=0;
a4=sqrt(0.015534033613724);
% 高精度的n,p
% a1=zhi(i,1+2)*exp(1i*zhi(i,5+2));
% a2=zhi(i,2+2)*exp(1i*zhi(i,6+2));
% a3=zhi(i,3+2)*exp(1i*zhi(i,7+2));
% a4=zhi(i,4+2)*exp(1i*zhi(i,8+2));
% 一个点
% r=[0.001             0.223606797765334 0.001             0.921952276410986];
%  a1=r(1);
%  a2=r(2);
%  a3=r(3);
%  a4=r(4);p=0;up=1;down=0;
while 1
s1=1-p;
%进去极化通道密度矩阵
A00=[(1+s1)/2 0;0 (1-s1)/2];
A01=[0 s1;0 0];
A10=[0 0;s1 0];
A11=[(1-s1)/2 0;0 (1+s1)/2];
B11=kron(kron(A00,A00),A00)*(a1*a1');
B12=kron(kron(A00,A00),A01)*(a1*a2');
B13=kron(kron(A00,A01),A00)*(a1*a2');
B15=kron(kron(A01,A00),A00)*(a1*a2');
B14=kron(kron(A00,A01),A01)*(a1*a3');
B16=kron(kron(A01,A00),A01)*(a1*a3');
B17=kron(kron(A01,A01),A00)*(a1*a3');
B18=kron(kron(A01,A01),A01)*(a1*a4');
B21=kron(kron(A00,A00),A10)*(a2*a1');
B22=kron(kron(A00,A00),A11)*(a2*a2');
B23=kron(kron(A00,A01),A10)*(a2*a2');
B25=kron(kron(A01,A00),A10)*(a2*a2');
B24=kron(kron(A00,A01),A11)*(a2*a3');
B26=kron(kron(A01,A00),A11)*(a2*a3');
B27=kron(kron(A01,A01),A10)*(a2*a3');
B28=kron(kron(A01,A01),A11)*(a2*a4');
B31=kron(kron(A00,A10),A00)*(a2*a1');
B32=kron(kron(A00,A10),A01)*(a2*a2');
B33=kron(kron(A00,A11),A00)*(a2*a2');
B35=kron(kron(A01,A10),A00)*(a2*a2');
B34=kron(kron(A00,A11),A01)*(a2*a3');
B36=kron(kron(A01,A10),A01)*(a2*a3');
B37=kron(kron(A01,A11),A00)*(a2*a3');
B38=kron(kron(A01,A11),A01)*(a2*a4');
B51=kron(kron(A10,A00),A00)*(a2*a1');
B52=kron(kron(A10,A00),A01)*(a2*a2');
B53=kron(kron(A10,A01),A00)*(a2*a2');
B55=kron(kron(A11,A00),A00)*(a2*a2');
B54=kron(kron(A10,A01),A01)*(a2*a3');
B56=kron(kron(A11,A00),A01)*(a2*a3');
B57=kron(kron(A11,A01),A00)*(a2*a3');
B58=kron(kron(A11,A01),A01)*(a2*a4');
B41=kron(kron(A00,A10),A10)*(a3*a1');
B42=kron(kron(A00,A10),A11)*(a3*a2');
B43=kron(kron(A00,A11),A10)*(a3*a2');
B45=kron(kron(A01,A10),A10)*(a3*a2');
B44=kron(kron(A00,A11),A11)*(a3*a3');
B46=kron(kron(A01,A10),A11)*(a3*a3');
B47=kron(kron(A01,A11),A10)*(a3*a3');
B48=kron(kron(A01,A11),A11)*(a3*a4');
B61=kron(kron(A10,A00),A10)*(a3*a1');
B62=kron(kron(A10,A00),A11)*(a3*a2');
B63=kron(kron(A10,A01),A10)*(a3*a2');
B65=kron(kron(A11,A00),A10)*(a3*a2');
B64=kron(kron(A10,A01),A11)*(a3*a3');
B66=kron(kron(A11,A00),A11)*(a3*a3');
B67=kron(kron(A11,A01),A10)*(a3*a3');
B68=kron(kron(A11,A01),A11)*(a3*a4');
B71=kron(kron(A10,A10),A00)*(a3*a1');
B72=kron(kron(A10,A10),A01)*(a3*a2');
B73=kron(kron(A10,A11),A00)*(a3*a2');
B75=kron(kron(A11,A10),A00)*(a3*a2');
B74=kron(kron(A10,A11),A01)*(a3*a3');
B76=kron(kron(A11,A10),A01)*(a3*a3');
B77=kron(kron(A11,A11),A00)*(a3*a3');
B78=kron(kron(A11,A11),A01)*(a3*a4');
B81=kron(kron(A10,A10),A10)*(a4*a1');
B82=kron(kron(A10,A10),A11)*(a4*a2');
B83=kron(kron(A10,A11),A10)*(a4*a2');
B85=kron(kron(A11,A10),A10)*(a4*a2');
B84=kron(kron(A10,A11),A11)*(a4*a3');
B86=kron(kron(A11,A10),A11)*(a4*a3');
B87=kron(kron(A11,A11),A10)*(a4*a3');
B88=kron(kron(A11,A11),A11)*(a4*a4');
B=B11+B12+B13+B15+B14+B16+B17+B18+B21+B22+B23+B25+B24+B26+B27+B28+B31+B32+B33+B35+B34+B36+B37+B38+B51+B52+B53+B55+B54+B56+B57+B58+B41+B42+B43+B45+B44+B46+B47+B48+B61+B62+B63+B65+B64+B66+B67+B68+B71+B72+B73+B75+B74+B76+B77+B78+B81+B82+B83+B85+B84+B86+B87+B88;
% 求本征值
B1=B(1:4,1:4);
B2=B(1:4,5:8);
B3=B(5:8,1:4);
B4=B(5:8,5:8);
B=[B1 B3;B2 B4];
N=eig(B);
N=sort(N);
N=-2*N(1);% p进行2分
if p==0zhi1(i,1)=N;
end
if N>0down=p;p=(up+down)/2;
elseif N<=0up=p;p=(up+down)/2;
end
if up-down<0.00000000000001zhi1(i,2)=p;break;
end
endend
% zhi1=sortrows(zhi1,1);
% zhi1(:,1)=0.5;
x1=zhi1(:,1);
y1=zhi1(:,2);
hold on
% plot(x1,y1,'b','LineWidth',0.1);
plot(x1,y1,'k.','MarkerSize',0.01);
% % N5=2*sqrt(2*abs(y)^4+2*abs(z)^4-2*x*z*y'^2+s'*((s*x-y*z)*x'+2*(s*y-z^2)*y')+(-s*x+y*z)*y'*z'-2*z'*((y^2-x*z)*x'+s*y*z'))
end

经过优化后,可简化为:

p=0;up=1;down=0;
while 1s1=1-p;tai=zeros(16,16);for jz11=1:2^4jz1=dec2bin(jz11-1,4);switch jz11case {1}jz7=c1;case {2,3,5,9}jz7=c2;case {8,12,14,15}jz7=c4;case {16}jz7=c5;otherwisejz7=c3;endfor jz12=1:2^4jz2=dec2bin(jz12-1,4);switch jz12case {1}jz8=c1;case {2,3,5,9}jz8=c2;case {8,12,14,15}jz8=c4;case {16}jz8=c5;otherwisejz8=c3;endjz6=1;for jz13=1:4jz3=[jz1(jz13),jz2(jz13)];jz4=bin2dec(jz3);switch jz4case {0}jz5=[(1+s1)/2 0;0 (1-s1)/2];case {1}jz5=[0 s1;0 0];case {2}jz5=[0 0;s1 0];case {3}jz5=[(1-s1)/2 0;0 (1+s1)/2];endjz6=kron(jz6,jz5);endjz6=jz7*jz8*jz6;tai=jz6+tai;endendB1=tai(1:8,1:8);B2=tai(1:8,9:16);B3=tai(9:16,1:8);B4=tai(9:16,9:16);B=[B1 B3;B2 B4];N=eig(B);N=sort(N);N=-2*N(1);% p进行2分if p==0zhi1(i,1)=N;endif N>0down=p;p=(up+down)/2;elseif N<=0up=p;p=(up+down)/2;endif up-down<0.000000000001zhi1(i,2)=p;break;end
end
end

大幅减少了代码量。

一些其他的量子态

这部分列举出一些需要用到的量子态。

随机态

可由以下代码画出随机态的图像:


clc;
clear;
%取点数
l=0;for l=1:1
qudian=1;
%NR存入矩阵zhi1中,1列为N,2列为R
zhi1=zeros(qudian,2);for i=1:qudian
% 取对称态4个随机复数系数
x=rand(1,2);
y=sum(x.*x);
r=x/sqrt(y);
d1=rand(1)*2*pi;
d2=rand(1)*2*pi;
d3=rand(1)*2*pi;
d4=rand(1)*2*pi;
r2=[d1 d2 d3 d4];
% a1=r(1)*exp(1i*d2);
% a2=r(2)*exp(1i*d3)/sqrt(3);
% a3=r(3)*exp(1i*d4)/sqrt(3);
% a4=r(4)*exp(1i*d1);
% a1=r(1);
% a2=r(2)/sqrt(3);
% a3=0;
% a4=0;
a1=sqrt(0.950222048838355);
a2=sqrt(0.011414639182640);
a3=0;
a4=sqrt(0.015534033613724);
% 高精度的n,p
% a1=zhi(i,1+2)*exp(1i*zhi(i,5+2));
% a2=zhi(i,2+2)*exp(1i*zhi(i,6+2));
% a3=zhi(i,3+2)*exp(1i*zhi(i,7+2));
% a4=zhi(i,4+2)*exp(1i*zhi(i,8+2));
% 一个点
% r=[0.001             0.223606797765334 0.001             0.921952276410986];
%  a1=r(1);
%  a2=r(2);
%  a3=r(3);
%  a4=r(4);p=0;up=1;down=0;
while 1
s1=1-p;
%进去极化通道密度矩阵
A00=[(1+s1)/2 0;0 (1-s1)/2];
A01=[0 s1;0 0];
A10=[0 0;s1 0];
A11=[(1-s1)/2 0;0 (1+s1)/2];
B11=kron(kron(A00,A00),A00)*(a1*a1');
B12=kron(kron(A00,A00),A01)*(a1*a2');
B13=kron(kron(A00,A01),A00)*(a1*a2');
B15=kron(kron(A01,A00),A00)*(a1*a2');
B14=kron(kron(A00,A01),A01)*(a1*a3');
B16=kron(kron(A01,A00),A01)*(a1*a3');
B17=kron(kron(A01,A01),A00)*(a1*a3');
B18=kron(kron(A01,A01),A01)*(a1*a4');
B21=kron(kron(A00,A00),A10)*(a2*a1');
B22=kron(kron(A00,A00),A11)*(a2*a2');
B23=kron(kron(A00,A01),A10)*(a2*a2');
B25=kron(kron(A01,A00),A10)*(a2*a2');
B24=kron(kron(A00,A01),A11)*(a2*a3');
B26=kron(kron(A01,A00),A11)*(a2*a3');
B27=kron(kron(A01,A01),A10)*(a2*a3');
B28=kron(kron(A01,A01),A11)*(a2*a4');
B31=kron(kron(A00,A10),A00)*(a2*a1');
B32=kron(kron(A00,A10),A01)*(a2*a2');
B33=kron(kron(A00,A11),A00)*(a2*a2');
B35=kron(kron(A01,A10),A00)*(a2*a2');
B34=kron(kron(A00,A11),A01)*(a2*a3');
B36=kron(kron(A01,A10),A01)*(a2*a3');
B37=kron(kron(A01,A11),A00)*(a2*a3');
B38=kron(kron(A01,A11),A01)*(a2*a4');
B51=kron(kron(A10,A00),A00)*(a2*a1');
B52=kron(kron(A10,A00),A01)*(a2*a2');
B53=kron(kron(A10,A01),A00)*(a2*a2');
B55=kron(kron(A11,A00),A00)*(a2*a2');
B54=kron(kron(A10,A01),A01)*(a2*a3');
B56=kron(kron(A11,A00),A01)*(a2*a3');
B57=kron(kron(A11,A01),A00)*(a2*a3');
B58=kron(kron(A11,A01),A01)*(a2*a4');
B41=kron(kron(A00,A10),A10)*(a3*a1');
B42=kron(kron(A00,A10),A11)*(a3*a2');
B43=kron(kron(A00,A11),A10)*(a3*a2');
B45=kron(kron(A01,A10),A10)*(a3*a2');
B44=kron(kron(A00,A11),A11)*(a3*a3');
B46=kron(kron(A01,A10),A11)*(a3*a3');
B47=kron(kron(A01,A11),A10)*(a3*a3');
B48=kron(kron(A01,A11),A11)*(a3*a4');
B61=kron(kron(A10,A00),A10)*(a3*a1');
B62=kron(kron(A10,A00),A11)*(a3*a2');
B63=kron(kron(A10,A01),A10)*(a3*a2');
B65=kron(kron(A11,A00),A10)*(a3*a2');
B64=kron(kron(A10,A01),A11)*(a3*a3');
B66=kron(kron(A11,A00),A11)*(a3*a3');
B67=kron(kron(A11,A01),A10)*(a3*a3');
B68=kron(kron(A11,A01),A11)*(a3*a4');
B71=kron(kron(A10,A10),A00)*(a3*a1');
B72=kron(kron(A10,A10),A01)*(a3*a2');
B73=kron(kron(A10,A11),A00)*(a3*a2');
B75=kron(kron(A11,A10),A00)*(a3*a2');
B74=kron(kron(A10,A11),A01)*(a3*a3');
B76=kron(kron(A11,A10),A01)*(a3*a3');
B77=kron(kron(A11,A11),A00)*(a3*a3');
B78=kron(kron(A11,A11),A01)*(a3*a4');
B81=kron(kron(A10,A10),A10)*(a4*a1');
B82=kron(kron(A10,A10),A11)*(a4*a2');
B83=kron(kron(A10,A11),A10)*(a4*a2');
B85=kron(kron(A11,A10),A10)*(a4*a2');
B84=kron(kron(A10,A11),A11)*(a4*a3');
B86=kron(kron(A11,A10),A11)*(a4*a3');
B87=kron(kron(A11,A11),A10)*(a4*a3');
B88=kron(kron(A11,A11),A11)*(a4*a4');
B=B11+B12+B13+B15+B14+B16+B17+B18+B21+B22+B23+B25+B24+B26+B27+B28+B31+B32+B33+B35+B34+B36+B37+B38+B51+B52+B53+B55+B54+B56+B57+B58+B41+B42+B43+B45+B44+B46+B47+B48+B61+B62+B63+B65+B64+B66+B67+B68+B71+B72+B73+B75+B74+B76+B77+B78+B81+B82+B83+B85+B84+B86+B87+B88;
% 求本征值
B1=B(1:4,1:4);
B2=B(1:4,5:8);
B3=B(5:8,1:4);
B4=B(5:8,5:8);
B=[B1 B3;B2 B4];
N=eig(B);
N=sort(N);
N=-2*N(1);% p进行2分
if p==0zhi1(i,1)=N;
end
if N>0down=p;p=(up+down)/2;
elseif N<=0up=p;p=(up+down)/2;
end
if up-down<0.00000000000001zhi1(i,2)=p;break;
end
endend
% zhi1=sortrows(zhi1,1);
% zhi1(:,1)=0.5;
x1=zhi1(:,1);
y1=zhi1(:,2);
hold on
% plot(x1,y1,'b','LineWidth',0.1);
plot(x1,y1,'k.','MarkerSize',0.01);
% % N5=2*sqrt(2*abs(y)^4+2*abs(z)^4-2*x*z*y'^2+s'*((s*x-y*z)*x'+2*(s*y-z^2)*y')+(-s*x+y*z)*y'*z'-2*z'*((y^2-x*z)*x'+s*y*z'))
end

GHZ-like态

可由以下代码画出ghz-like态的图像:

clear;
clc;
%取点数
qudian=400;
%NR存入矩阵zhi中,1列为N,2列为R
zhi=zeros(qudian,2);for i=1:qudian
theta=pi*i/(qudian+1)/4;p=0;up=1;down=0;
while 1
s=1-p;
%进入极化通道密度矩阵
A00=[(1+s)/2 0;0 (1-s)/2];
A01=[0 s;0 0];
A10=[0 0;s 0];
A11=[(1-s)/2 0;0 (1+s)/2];
B1=cos(theta)*cos(theta)*kron(kron(A00,A00),A00);
B2=cos(theta)*sin(theta)*kron(kron(A10,A10),A10);
B3=cos(theta)*sin(theta)*kron(kron(A01,A01),A01);
B4=sin(theta)*sin(theta)*kron(kron(A11,A11),A11);
B=B1+B2+B3+B4;
% 求本征值
B1=B(1:4,1:4);
B2=B(1:4,5:8);
B3=B(5:8,1:4);
B4=B(5:8,5:8);
B=[B1 B3;B2 B4];
N=eig(B);
N=sort(N);
N=-2*N(1);%p进行2分
if p==0zhi(i,1)=N;
end
if N>0down=p;p=(up+down)/2;
elseif N<=0up=p;p=(up+down)/2;
end
if up-down<0.000000000000001zhi(i,2)=p;break;
end
endend
zhi(1,1)=0;
zhi(1,2)=0;
zhi=sortrows(zhi,1);x=zhi(:,1);
y=zhi(:,2);
hold on
plot(x,y,'k','LineWidth',0.1);
% plot(x,y,'b.','MarkerSize',0.01);

w态

可由以下代码画出w态的图像

clear;
clc;
% cs_di=[0.1 0.088039398193359;0.2 0.155963897705078;0.3 0.211307525634766;0.4 0.257663726806641;0.5 0.297183990478516;0.6 0.332210540771484;0.7 0.363445281982422;0.8 0.391674041748047;0.9 0.417926788330078;0.91 0.420406341552734;0.92 0.422969818115234;0.93 0.425464630126953;0.94 0.424861907958984;0.95 0.427455902099609;0.96 0.430957794189453;0.97 0.434291839599609;0.98 0.437465667724609;0.99 0.440471649169922]
%取点数
qudian=300;
zhi=zeros(qudian,2);
%NR存入矩阵zhi中,1列为N,2列为R
for i=1:qudian% x1=(i-1)/(qudian-1);    %c1从0到1
% x1=0.63+0.06/100*i;       % c1从0.85到0.91
% x2=sqrt(1-x1^2);
theta=pi*i/qudian/2;
a1=0;
a2=sin(theta)/sqrt(3)*exp(1i*2*pi*rand(1,1));
a3=0;
a4=cos(theta);p=0;up=1;down=0;
while 1
s=1-p;
%进入极化通道密度矩阵
A00=[(1+s)/2 0;0 (1-s)/2];
A01=[0 s;0 0];
A10=[0 0;s 0];
A11=[(1-s)/2 0;0 (1+s)/2];
B11=kron(kron(A00,A00),A00)*(a1*a1');
B12=kron(kron(A00,A00),A01)*(a1*a2');
B13=kron(kron(A00,A01),A00)*(a1*a2');
B15=kron(kron(A01,A00),A00)*(a1*a2');
B14=kron(kron(A00,A01),A01)*(a1*a3');
B16=kron(kron(A01,A00),A01)*(a1*a3');
B17=kron(kron(A01,A01),A00)*(a1*a3');
B18=kron(kron(A01,A01),A01)*(a1*a4');
B21=kron(kron(A00,A00),A10)*(a2*a1');
B22=kron(kron(A00,A00),A11)*(a2*a2');
B23=kron(kron(A00,A01),A10)*(a2*a2');
B25=kron(kron(A01,A00),A10)*(a2*a2');
B24=kron(kron(A00,A01),A11)*(a2*a3');
B26=kron(kron(A01,A00),A11)*(a2*a3');
B27=kron(kron(A01,A01),A10)*(a2*a3');
B28=kron(kron(A01,A01),A11)*(a2*a4');
B31=kron(kron(A00,A10),A00)*(a2*a1');
B32=kron(kron(A00,A10),A01)*(a2*a2');
B33=kron(kron(A00,A11),A00)*(a2*a2');
B35=kron(kron(A01,A10),A00)*(a2*a2');
B34=kron(kron(A00,A11),A01)*(a2*a3');
B36=kron(kron(A01,A10),A01)*(a2*a3');
B37=kron(kron(A01,A11),A00)*(a2*a3');
B38=kron(kron(A01,A11),A01)*(a2*a4');
B51=kron(kron(A10,A00),A00)*(a2*a1');
B52=kron(kron(A10,A00),A01)*(a2*a2');
B53=kron(kron(A10,A01),A00)*(a2*a2');
B55=kron(kron(A11,A00),A00)*(a2*a2');
B54=kron(kron(A10,A01),A01)*(a2*a3');
B56=kron(kron(A11,A00),A01)*(a2*a3');
B57=kron(kron(A11,A01),A00)*(a2*a3');
B58=kron(kron(A11,A01),A01)*(a2*a4');
B41=kron(kron(A00,A10),A10)*(a3*a1');
B42=kron(kron(A00,A10),A11)*(a3*a2');
B43=kron(kron(A00,A11),A10)*(a3*a2');
B45=kron(kron(A01,A10),A10)*(a3*a2');
B44=kron(kron(A00,A11),A11)*(a3*a3');
B46=kron(kron(A01,A10),A11)*(a3*a3');
B47=kron(kron(A01,A11),A10)*(a3*a3');
B48=kron(kron(A01,A11),A11)*(a3*a4');
B61=kron(kron(A10,A00),A10)*(a3*a1');
B62=kron(kron(A10,A00),A11)*(a3*a2');
B63=kron(kron(A10,A01),A10)*(a3*a2');
B65=kron(kron(A11,A00),A10)*(a3*a2');
B64=kron(kron(A10,A01),A11)*(a3*a3');
B66=kron(kron(A11,A00),A11)*(a3*a3');
B67=kron(kron(A11,A01),A10)*(a3*a3');
B68=kron(kron(A11,A01),A11)*(a3*a4');
B71=kron(kron(A10,A10),A00)*(a3*a1');
B72=kron(kron(A10,A10),A01)*(a3*a2');
B73=kron(kron(A10,A11),A00)*(a3*a2');
B75=kron(kron(A11,A10),A00)*(a3*a2');
B74=kron(kron(A10,A11),A01)*(a3*a3');
B76=kron(kron(A11,A10),A01)*(a3*a3');
B77=kron(kron(A11,A11),A00)*(a3*a3');
B78=kron(kron(A11,A11),A01)*(a3*a4');
B81=kron(kron(A10,A10),A10)*(a4*a1');
B82=kron(kron(A10,A10),A11)*(a4*a2');
B83=kron(kron(A10,A11),A10)*(a4*a2');
B85=kron(kron(A11,A10),A10)*(a4*a2');
B84=kron(kron(A10,A11),A11)*(a4*a3');
B86=kron(kron(A11,A10),A11)*(a4*a3');
B87=kron(kron(A11,A11),A10)*(a4*a3');
B88=kron(kron(A11,A11),A11)*(a4*a4');
B=B11+B12+B13+B15+B14+B16+B17+B18+B21+B22+B23+B25+B24+B26+B27+B28+B31+B32+B33+B35+B34+B36+B37+B38+B51+B52+B53+B55+B54+B56+B57+B58+B41+B42+B43+B45+B44+B46+B47+B48+B61+B62+B63+B65+B64+B66+B67+B68+B71+B72+B73+B75+B74+B76+B77+B78+B81+B82+B83+B85+B84+B86+B87+B88;
% 求本征值
B1=B(1:4,1:4);
B2=B(1:4,5:8);
B3=B(5:8,1:4);
B4=B(5:8,5:8);
B=[B1 B3;B2 B4];
N=eig(B);
N=sort(N);
N=-2*N(1);%p进行2分
if p==0zhi(i,1)=N;
end
if N>0down=p;p=(up+down)/2;
elseif N<=0up=p;p=(up+down)/2;
end
if up-down<0.0000000000001zhi(i,2)=p;break;
end
endend
% zhi=sortrows(zhi,1);
x=zhi(:,1);
y=zhi(:,2);
hold on
plot(x,y,'r','LineWidth',0.1);
%plot(x,y,'r.','MarkerSize',0.01);

数值模拟法(正确)

数值模拟,即随机地取纠缠相同的量子态,取到1万个、10万个、100万个时,其中的最强态将非常趋近于真实最强态。
基于这种穷举的思想,可模拟出的最强最弱态。

经过5个月的不断摸索,代码非常简洁与优化,如下代码,可找出模拟最强态、最弱态。

clc;clear;
zhi0=zeros(99,2);bj=1;% 1上界,2下界。
for n_bc=1:99
qudian=1000;i1=1;
%NR存入矩阵zhi1中,1列为N,2列为R
% R=0.424487786057;N=0.9;
zhi1=zeros(20,2);       % 结果存入其中
for i=1:qudian
% 随机取态
% 3项
% if mod(i,100)==0
%     i
%     n_bc
% end
N = 0.01*n_bc;a = (N/2)^2;b = sqrt(1 - 4*a);
if a < 2/9c = rand * (1-b) / 2;if rand < 0.5x = c;y = (1 - 2*x - b) / 6;z = x + b;elsex = c + b;y = (1 - 2*x + b) / 6;z = x - b;end
elsec = rand * sqrt((1 + b) / 2);x = c^2;x=0;if c^2 < by = (1 - 2*x - b) / 6;z = x + b;elseif b < c^2 && c^2 < (1 - b) / 2 % 有两个解,为保证代码简洁,只取一个解if rand < 0.5y = (1 - 2*x - b) / 6;z = x + b;elsey = (1 - 2*x + b) / 6;z = x - b;endelsey = (1 - 2*x + b) / 6;z = x - b;end
end
c1 = sqrt(x);c3 = sqrt(y);c5 = sqrt(z);c2 = 0;c4 = 0;% 2项
% x=rand(1,2);
% y=sum(x.*x);
% r=x/sqrt(y);
% c1=r(1);
% c2=0;c4=0;c5=0;
% c3=r(2)/sqrt(6);%进入通道
if i == 1p=0;
end
up=1;down=0;i2=1;
while 1s1=1-p;tai=zeros(16,16);for jz11=1:2^4jz1=dec2bin(jz11-1,4);switch jz11case {1}jz7=c1;case {2,3,5,9}jz7=c2;case {8,12,14,15}jz7=c4;case {16}jz7=c5;otherwisejz7=c3;endfor jz12=1:2^4jz2=dec2bin(jz12-1,4);switch jz12case {1}jz8=c1;case {2,3,5,9}jz8=c2;case {8,12,14,15}jz8=c4;case {16}jz8=c5;otherwisejz8=c3;endjz6=1;for jz13=1:4jz3=[jz1(jz13),jz2(jz13)];jz4=bin2dec(jz3);switch jz4case {0}jz5=[(1+s1)/2 0;0 (1-s1)/2];case {1}jz5=[0 s1;0 0];case {2}jz5=[0 0;s1 0];case {3}jz5=[(1-s1)/2 0;0 (1+s1)/2];endjz6=kron(jz6,jz5);endjz6=jz7*jz8*jz6;tai=jz6+tai;endendB1=tai(1:8,1:8);B2=tai(1:8,9:16);B3=tai(9:16,1:8);B4=tai(9:16,9:16);B=[B1 B3;B2 B4];N=eig(B);N=sort(N);N=-2*N(1);if i ~= 1if i2 == 1if bj == 1if N<0breakendelseif bj == 2if N>0breakendendendendi2=i2+1;% p进行2分if N>0down=p;p=(up+down)/2;elseif N<=0up=p;p=(up+down)/2;endif up-down<0.00005zhi1(i1,1)=i;zhi1(i1,2)=p;i1=i1+1;break;end
end
end
zhi0(n_bc,1)=n_bc;
zhi0(n_bc,2)=p;
end

最终成果

图像如下(论文最终成果):

matlab毕业论文(部分代码)相关推荐

  1. 基于matlab的64QAM,通信调制体制设计之64QAM性能分析MATLAB仿真及代码

    通信调制体制设计之64QAM性能分析MATLAB仿真及代码 通信调制体制设计之64QAM性能分析MATLAB仿真及代码 任务背景 弗雷泽岛旅游经理在审查您之前建立无线链路任务的解决方案时,正在研究使用 ...

  2. 基于小波变换的图像边缘检测(matlab祖传代码注释)

    基于小波变换的图像边缘提取应用展示 上图为针对png格式无背景原图的边缘检测,对比各种边缘检测算子,小波变化的优势体现并不明显. 上图为针对含背景图片的边缘检测,小波变化的优势这里体现的比较明显. m ...

  3. 基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码

    基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码 文章目录 基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码 1 蝙蝠算法与BP神经网络分类模型 1.1 蝙 ...

  4. 【图像处理】双三次插值(Bicubic interpolation)原理及matlab简易版代码

    先简单写下. 双线性插值:缩放后图像矩阵(简称TI)像素坐标映射到原图像矩阵(简称OI)中得坐标点P(x,y),P点临近四个坐标点像素值的线性加权求和即P点像素值. "双"指的图像 ...

  5. 卡尔曼滤波原理和Matlab以及python代码实现

    文章目录 前言 一.卡尔曼滤波原理 最后对卡尔曼滤波的预测步和更新步公式进行总结: 二.Matlab代码 三.Python代码 前言 本文主要讲解卡尔曼滤波的原理以及Matlab和python代码实现 ...

  6. matlab路面功率谱密度的代码,[转载]转:matlab求功率谱密度代码实例

    (如果不先对数据都减去一个均值,那么接近0Hz部分的功率会非常非常大~这是有害的,一般做数据处理的时候如果只关注交流量的话,就要先使得整个序列的均值为0,方法就是给每个数减去该序列的一个均值2012- ...

  7. 风电功率预测matlab,MatlAB毕业论文:风电功率预测问题.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp学术论文&nbsp>&nbsp自然科学论文 MatlAB毕业论文:风电功率预测问题.doc2 ...

  8. 基于蝗虫(蚱蜢)优化算法优化的支持向量机分类模型及其MATLAB实现-附代码

    基于蝗虫(蚱蜢)优化算法GOA优化的支持向量机分类模型SVM及其MATLAB实现-附代码 文章目录 基于蝗虫(蚱蜢)优化算法GOA优化的支持向量机分类模型SVM及其MATLAB实现-附代码 1. 模型 ...

  9. svr代码matlab,matlab解决svr代码.docx

    matlab解决svr代码.docx 多元线性回归和BP神经网络及决策向量机之间的比较,个人理解:多元线性回归:就是多个属性的线性组合,在组合时,通过不断调节每个属性的权重来使多元线性回归函数更多的适 ...

  10. 基于YOLOv5的目标检测系统详解(附MATLAB GUI版代码)

    摘要:本文重点介绍了基于YOLOv5目标检测系统的MATLAB实现,用于智能检测物体种类并记录和保存结果,对各种物体检测结果可视化,提高目标识别的便捷性和准确性.本文详细阐述了目标检测系统的原理,并给 ...

最新文章

  1. JavaScript模式读书笔记 第5章 对象创建模式
  2. 【Codeforces】1093C Mishka and the Last Exam
  3. ssh 远程登陆异常SSH_EXCHANGE_IDENTIFICATION及解决过程
  4. 按之字形顺序打印二叉树
  5. 【Linux】一步一步学Linux——gdb命令(258)
  6. 【ubuntu】服务器新增user,并且配置ssh
  7. Eclipse调试方法
  8. linux 建立vnc,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  9. 一步步教你优化Delphi字串查找(转载)
  10. Javascript:利用JS在空白网页中绘制简单图形
  11. 功能详细设计文档模板
  12. 弱密码、未授权加固/修复建议
  13. 【计算机网络】IP地址
  14. URPF - 单播逆向路径转发
  15. 详细安装Adobe Dreamweaver教程和制作第一个网页
  16. LabVIEW辨识颜色小游戏
  17. Geoserver 发布wmts服务,以及cesium加载发布的wmts服务
  18. UE4(unreal Engine)中使用蓝图类Actor创建开关门,并使用鼠标和键盘控制开关门
  19. 魔兽地图编辑器插件YDWE的使用与基本设置5 触发编辑器2 时间事件
  20. matlab 二次最优控制,基于MATLAB的线性二次型最优控制

热门文章

  1. 化工原理物性参数_化工原理中一些溶液的物理性质的值怎么查
  2. 脱离电商平台新的引流方式
  3. linux环境skywalking搭建及项目应用
  4. JAVA解决杨辉三角问题
  5. vue的keep-alive组件清除缓存
  6. PRN(20200816):A Hierarchical Deep Convolutional Neural Network for Incremental Learning [Tree-CNN]
  7. 【Houdini】如何查找HDA面板下参数对应的节点
  8. 中国影像增强器行业市场供需与战略研究报告
  9. 物联网:数据淘金——从数据中挖掘有效信息
  10. oracle数据库提交数据关键字,Oracle数据库的关键字