ente.m

来自「计算纠缠的程序」· M 代码 · 共 48 行

M
48
字号
function ent = entanglement(psi,dim)% ENTANGLEMENT  Entropy of entanglement of a bipartite pure state% requires: TrX.m% author: Toby Cubitt%%    ENTANGLEMENT(psi,dim) returns the entropy of entanglement of%    bipartite pure state psi, divided into subsystems with%    dimensions specified by two-component vector dim.%    If only one dimension is specified, a dim(1) x dim(1)%    system is assumed.%    If two dimensions are specified, a dim(1) x dim(2) system is%    assumed.%    If three dimensions are specified, a dim(1) x dim (2) x dim(3)%    system is assumed, and the entanglement is calculated with%    respect to the partition (1 & 3)--(2).if length(psi) ~= prod(dim)  error('MATLAB:badopt',['Dimension of psi is not equal to product' ...		    ' of dimensions of subsystems'])endswitch length(dim) case 0  n = 2;  m = 2;  l = 1; case 1  n = dim(1);  m = n;  l = 1; case 2  n = dim(1);  m = dim(2);  l = 1; case 3  n = dim(1);  m = dim(2);  l = dim(3);    endrho = kron(psi,psi');e = real(eig(TrX(rho,2,[n,m,l])));indx = find((e ~= 0));log_e = zeros(size(e));log_e(indx) = log2(e(indx));ent = -e'*log_e;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?