perms.antisymmetric_projection

Antisymmetric projection operator.

Module Contents

Functions

antisymmetric_projection(dim[, p_param, partial])

Produce the projection onto the antisymmetric subspace [1].

perms.antisymmetric_projection.antisymmetric_projection(dim, p_param=2, partial=False)

Produce the projection onto the antisymmetric subspace [1].

Produces the orthogonal projection onto the anti-symmetric subspace of p_param copies of dim-dimensional space. If partial = True, then the antisymmetric projection (PA) isn’t the orthogonal projection itself, but rather a matrix whose columns form an orthonormal basis for the symmetric subspace (and hence the PA * PA’ is the orthogonal projection onto the symmetric subspace.)

Examples

The \(2\)-dimensional antisymmetric projection with \(p=1\) is given as \(2\)-by-\(2\) identity matrix

\[\begin{split}A_{2,1} = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}.\end{split}\]

Using toqito, we can see this gives the proper result.

>>> from toqito.perms import antisymmetric_projection
>>> antisymmetric_projection(2, 1)
array([[1., 0.],
       [0., 1.]])

When the \(p\) value is greater than the dimension of the antisymmetric projection, this just gives the matrix consisting of all zero entries. For instance, when \(d = 2\) and \(p = 3\) we have that

\[\begin{split}A_{2, 3} = \begin{pmatrix} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \end{pmatrix}.\end{split}\]

Using toqito we can see this gives the proper result.

>>> from toqito.perms import antisymmetric_projection
>>> antisymmetric_projection(2, 3)
array([[0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0.]])

References

[1] (1,2)

Wikipedia. Anti-symmetric operator. https://en.wikipedia.org/wiki/Anti-symmetric_operator.

Parameters:
  • dim (int) – The dimension of the local systems.

  • p_param (int) – Default value of 2.

  • partial (bool) – Default value of 0.

Returns:

Projection onto the antisymmetric subspace.

Return type:

numpy.ndarray