📄 su_gen_calc.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 + -