Difference between revisions of "Commutant"

From QETLAB
Jump to navigation Jump to search
m
Line 1: Line 1:
 
{{Function
 
{{Function
 
|name=Commutant
 
|name=Commutant
|desc=Computes the [[commutant]] of a set of matrices
+
|desc=Computes the commutant of a set of matrices
 
|req=[[opt_args]]<br />[[PartialTranspose]]<br />[[PermuteSystems]]<br />[[spnull]]<br />[[Swap]]
 
|req=[[opt_args]]<br />[[PartialTranspose]]<br />[[PermuteSystems]]<br />[[spnull]]<br />[[Swap]]
 
|upd=November 18, 2012
 
|upd=November 18, 2012

Revision as of 17:03, 23 November 2012

Commutant
Computes the commutant of a set of matrices

Other toolboxes required opt_args
PartialTranspose
PermuteSystems
spnull
Swap

Commutant is a function that computes an orthonormal basis (in the Hilbert-Schmidt inner product) of the commutant of a matrix or set of matrices.

Syntax

  • C = Commutant(A)

Argument descriptions

  • A: Either a matrix, or a cell containing one or more matrices of the same size.

Examples

A single matrix

Everything commutes with the identity matrix, which we can verify in the 2-dimensional case as follows:

>> C = Commutant(eye(2));
>> celldisp(C) % display the contents of C
 
C{1} =
     1     0
     0     0

C{2} =
     0     1
     0     0

C{3} =
     0     0
     1     0

C{4} = 
     0     0
     0     1

Bicommutant

If A is a cell that contains a basis of a unital, self-adjoint algebra, then its bicommutant spans the same set, by the von Neumann bicommutant theorem. The following code verifies this in the case of the subalgebra $M_2 \oplus M_1 \subseteq M_3$:

>> A = {[1 0 0;0 0 0;0 0 0] [0 1 0;0 0 0;0 0 0] [0 0 0;1 0 0;0 0 0] [0 0 0;0 1 0;0 0 0] [0 0 0;0 0 0;0 0 1]};
>> B = Commutant(Commutant(A));
>> celldisp(B)
 
B{1} =
     1     0     0
     0     0     0
     0     0     0

B{2} =
     0     1     0
     0     0     0
     0     0     0

B{3} =
     0     0     0
     1     0     0
     0     0     0

B{4} =
     0     0     0
     0     1     0
     0     0     0

B{5} =
     0     0     0
     0     0     0
     0     0     1

Note that the basis output for the bicommutant in general may be different than the basis provided as input.