toqito.perms.antisymmetric_projection¶
Antisymmetric projection operator produces an orthogonal projection onto an anti-symmetric subspace.
Module Contents¶
- toqito.perms.antisymmetric_projection.antisymmetric_projection(dim, p_param=2, partial=False)[source]¶
Produce the projection onto the antisymmetric subspace [@WikiAsymmOp].
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
- [
A_{2,1} = begin{pmatrix}
1 & 0 \ 0 & 1
end{pmatrix}.
]
Using |toqito⟩, we can see this gives the proper result.
```python exec=”1” source=”above” from toqito.perms import antisymmetric_projection
print(antisymmetric_projection(2, 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
- [
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}.
]
Using |toqito⟩ we can see this gives the proper result.
```python exec=”1” source=”above” from toqito.perms import antisymmetric_projection
print(antisymmetric_projection(2, 3)) ```
- 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