646
D. Rosset et al.
running under either the MATLAB or Octave environment (the latest version
is always available at https://github.com/replab/replab). Part of the transcript is
truncated due to page limits, and // indicates a newline.
>> g1 = [1 3 2 4 -5]; g2 = [1 -4 -5 -2 -3];
>> G = replab.signed.Permutations(5).subgroup({g1 g2})
replab.signed.PermutationSubgroup
domainSize: 5
generator(1): [1, 3, 2, 4, -5]
//
generator(2): [1, -4, -5, -2, -3]
The natural representation represents G using signed permutation matrices:
>> rep = G.naturalRep
Orthogonal representation by images
dimension: 5 // field: ’R’ // group: replab.signed.PermutationSubgroup
images_internal{1}: [1, 0, 0, 0, 0; 0, 0, 1, 0, 0; ...
images_internal{2}: [1, 0, 0, 0, 0; 0, 0, 0, -1, 0; ...
and we ask RepLAB to decompose that representation
>> dec = rep.decomposition
Orthogonal similar representation (irreducible decomposition)
dimension: 5 // field: ’R’ // group: replab.signed.PermutationSubgroup
basis.(:,1): [1, 0, 0, 0, 0].’
basis.(:,2): [0, 0.5, 0.5, 0.70711, -1.5403e-37].’
basis.(:,3): [0, 0.5, -0.5, 1.6492e-36, 0.70711].’
basis.(:,4): [0, 0.5, -0.5, 1.3109e-36, -0.70711].’
basis.(:,5): [0, 0.5, 0.5, -0.70711, -4.9235e-37].’
component(1): Isotypic component R(1) (trivial)
component(2): Isotypic component R(2)
component(3): Isotypic component R(2)
The change of basis matrix is U = dec. basis
† , it diagonalizes A and thus X:
U =
⎛
⎜
⎝
2 0 0
0
0
0 1 1
√
2
0
0 1 −1 0
√
2
0 1 −1 0 −
√
2
0 1 1 −
√
2 0
⎞
⎟
⎠ /2,
UAU
†
=
⎛
⎜
⎝
0 √
2 √
2
−
√
2
−
√
2
⎞
⎟
⎠ ,
(8)
with D 1 = 1, D 2 = D 3 = 2, and M 1,2,3 = 1. The SDP problem (6) becomes MAX4y ,
such that 1 ±
√
2y 0. This is easily solved for the maximum 4y = 2
√
2.
The transcript above emphasizes the choices we made in building RepLAB: we
reuse plain types when possible (e.g., integer vectors to represent permutations),
the library is object-oriented (so operations are discovered easily), and results are
returned in floating-point arithmetic.
1.1 Unique Features
RepLAB supports compact groups. We decompose the representation ρ : u →
ρ u = u ⊗ u ∗ of the unitary group U (2) (u ∗ is the complex conjugate). The Bell
state
Φ + = (|00 + |11) /
√
2 spans the trivial representation, and its orthogonal
subspace is another subrepresentation.
>> U = replab.U(2);
% creating the unitary group
>> defRep = U.definingRep; % instance of its defining representation
>> rep = kron(defRep, conj(defRep)) % representations can be manipulated
Unitary tensor representation
Précédent

- 619/642

Suivant