GellMann
From QETLAB
GellMann | |
Produces a Gell-Mann operator | |
Other toolboxes required | none |
---|---|
Related functions | GenGellMann GenPauli Pauli |
Function category | Special states, vectors, and operators |
GellMann is a function that produces the 3-by-3 Gell-Mann matrices, as defined here:
\(g_0 = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}\) \(g_1 = \begin{bmatrix} 0 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}\) \(g_2 = \begin{bmatrix} 0 & -i & 0 \\ i & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}\) \(g_3 = \begin{bmatrix} 1 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & 0 \end{bmatrix}\) \(g_4 = \begin{bmatrix} 0 & 0 & 1 \\ 0 & 0 & 0 \\ 1 & 0 & 0 \end{bmatrix}\) \(g_5 = \begin{bmatrix} 0 & 0 & -i \\ 0 & 0 & 0 \\ i & 0 & 0 \end{bmatrix}\) \(g_6 = \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \end{bmatrix}\) \(g_7 = \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & -i \\ 0 & i & 0 \end{bmatrix}\) \(g_8 = \frac{1}{\sqrt{3}} \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & -2 \end{bmatrix}\)
Syntax
- G = GellMann(IND)
- G = GellMann(IND,SP)
Argument descriptions
- IND: An index indicating which Gell-Mann operator you would like to be generated. Should be an integer between 0 and 8, inclusive.
- SP (optional, default 0): A flag (either 1 or 0) indicating that the Gell-Mann operator produced should or should not be sparse.
Examples
Source code
Click on "expand" to the right to view the MATLAB source code for this function.
%% GELLMANN Produces a Gell-Mann operator
% This function has one required argument:
% IND (an integer between 0 and 8, inclusive)
%
% G = GellMann(IND) is the 3-by-3 Gell-Mann matrix indicated by the value
% of IND. IND = 0 gives the identity matrix, while values of 1 through 8
% each indicate one of the other 8 Gell-Mann matrices.
%
% This function has one optional argument:
% SP (default 0)
%
% G = GellMann(IND,SP) is as above, with sparsity of the output
% determined by the value of SP. If SP = 0 then the output will be full,
% if SP = 1 then the output will be sparse.
%
% URL: http://www.qetlab.com/GellMann
% requires: opt_args.m
% author: Nathaniel Johnston (nathaniel@njohnston.ca)
% package: QETLAB
% last updated: December 18, 2013
function g = GellMann(ind,varargin)
% set optional argument defaults: sp=0
[sp] = opt_args({ 0 },varargin{:});
if(ind == 1)
g = [0 1 0;1 0 0;0 0 0];
elseif(ind == 2)
g = [0 -1i 0;1i 0 0;0 0 0];
elseif(ind == 3)
g = [1 0 0;0 -1 0;0 0 0];
elseif(ind == 4)
g = [0 0 1;0 0 0;1 0 0];
elseif(ind == 5)
g = [0 0 -1i;0 0 0;1i 0 0];
elseif(ind == 6)
g = [0 0 0;0 0 1;0 1 0];
elseif(ind == 7)
g = [0 0 0;0 0 -1i;0 1i 0];
elseif(ind == 8)
g = [1 0 0;0 1 0;0 0 -2]/sqrt(3);
else
g = eye(3);
end
if(sp)
g = sparse(g);
end
External links
- Gell-Mann matrices at Wikipedia