⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 su_gen_calc.m

📁 量子信息计算库。内涵计算量子纠缠等众多MATLAB程序
💻 M
字号:
function SU_gen = calc_SU_gen(N)
%
% Calculates the generators of SU(N), in the fundumental (NxN) representation (internal use)
%
% Usage: SU_gen = calc_SU_gen(N)
%     SU_gen: A cell array containng N^2-1 matrices of size NxN.
%             This means that SU_gen{k} is an NxN matrix (note curly brackets).
%
% Note: Order of generators is important, as it's assumed by SU_param_form,
%       the associated mathematics (as in the references) and elsewhere in qlib.
%
% References: 
%     math-ph/0205016: Generalized Euler Angle Parametrization for SU(N), Tilma & Sudarshan
%

SU_gen = {};

for k=2:N
    vect = zeros(N,1); 
    vect(1:k-1) = 1; vect(k) = -(k-1);
    SU_gen{k^2-1} = diag(vect) * sqrt(2/(k^2-k));
end

pos = 1;
for k=1:N
    for j=1:(k-1)
        if length(SU_gen{pos}) > 0
            pos = pos + 1;
        end
        SU_gen{pos} = zeros(N);
        SU_gen{pos}(j,k) = 1;
        SU_gen{pos}(k,j) = 1;
        pos = pos + 1;
        SU_gen{pos} = zeros(N);
        SU_gen{pos}(j,k) = -i;
        SU_gen{pos}(k,j) = +i;
        pos = pos + 1;
    end
end

% Trivially, we would prefer: SU_gen{N^2} = eye(N)/N;  
% But practically, we want a constant Trace(SU_gen{k}'*SU_gen{k}) == 2
SU_gen{N^2} = eye(N)/sqrt(N/2);

⌨️ 快捷键说明

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