Difference between revisions of "AntisymmetricProjection"
(Uploaded v1.01) |
|||
| Line 4: | Line 4: | ||
|req=[[opt_args]]<br />[[perm_sign]]<br />[[PermutationOperator]]<br />[[PermuteSystems]]<br />[[sporth]] | |req=[[opt_args]]<br />[[perm_sign]]<br />[[PermutationOperator]]<br />[[PermuteSystems]]<br />[[sporth]] | ||
|rel=[[SymmetricProjection]]<br />[[SwapOperator]] | |rel=[[SymmetricProjection]]<br />[[SwapOperator]] | ||
| − | |upd=November | + | |upd=November 26, 2012 |
| − | |v=1. | + | |v=1.01}} |
<tt>'''AntisymmetricProjection'''</tt> is a [[List of functions|function]] that computes the [[orthogonal projection]] onto the [[antisymmetric subspace]] of two or more subsystems. The output of this function is always a sparse matrix. | <tt>'''AntisymmetricProjection'''</tt> is a [[List of functions|function]] that computes the [[orthogonal projection]] onto the [[antisymmetric subspace]] of two or more subsystems. The output of this function is always a sparse matrix. | ||
Revision as of 20:40, 26 November 2012
| AntisymmetricProjection | |
| Produces the projection onto the antisymmetric subspace | |
| Other toolboxes required | opt_args perm_sign PermutationOperator PermuteSystems sporth |
|---|---|
| Related functions | SymmetricProjection SwapOperator |
AntisymmetricProjection is a function that computes the orthogonal projection onto the antisymmetric subspace of two or more subsystems. The output of this function is always a sparse matrix.
Syntax
- PA = AntisymmetricProjection(DIM)
- PA = AntisymmetricProjection(DIM,P)
- PA = AntisymmetricProjection(DIM,P,PARTIAL)
- PA = AntisymmetricProjection(DIM,P,PARTIAL,MODE)
Argument descriptions
- DIM: The dimension of each of the subsystems.
- P (optional, default 2): The number of subsystems.
- PARTIAL (optional, default 0): If PARTIAL = 1 then PA isn't the orthogonal projection itself, but rather a matrix whose columns form an orthonormal basis for the antisymmetric subspace (and hence PA*PA' is the orthogonal projection onto the antisymmetric subspace).
- MODE (optional, default -1): A flag that determines which of two algorithms is used to compute the antisymmetric projection. If MODE = -1 then this script chooses which algorithm it thinks will be faster based on the values of DIM and P. If you wish to force the script to use a specific one of the algorithms (not recommended!), they are as follows:
- MODE = 0: Computes the antisymmetric projection by explicitly constructing an orthonormal basis of the symmetric subspace. The method for constructing such a basis is a modification of the procedure described for the symmetric subspace in [1]. This method is typically fast when DIM is small compared to P.
- MODE = 1: Computes the antisymmetric projection by averaging all P! permutation operators (in the sense of the PermutationOperator function). Permutation operators corresponding to an even permutation are given a weight of +1, while permutation operators corresponding to an odd permutation are given a weight of -1.[2] Because P! grows very quickly, this method is only practical when P is small.
Examples
Two subsystems
To compute the antisymmetric projection on two-qubit space, the following code suffices:
>> AntisymmetricProjection(2) ans = (2,2) 0.5000 (3,2) -0.5000 (2,3) -0.5000 (3,3) 0.5000
Note that the output of this function is always sparse. If you want a full matrix (not recommended for even moderately large DIM or P), you must explicitly convert it.
More subsystems and PARTIAL
To compute a matrix whose columns form an orthonormal basis for the symmetric subspace of three-qutrit space, set PARTIAL = 1:
>> PA = AntisymmetricProjection(3,3,1) PA = (6,1) 0.4082 (8,1) -0.4082 (12,1) -0.4082 (16,1) 0.4082 (20,1) 0.4082 (22,1) -0.4082
Note that PA is an isometry from the antisymmetric subspace (which is one-dimensional in this case) to the full three-qutrit space. In other words, PA'*PA is the identity matrix (i.e., the scalar 1 here) and PA*PA' is the orthogonal projection onto the antisymmetric subspace, which we can verify as follows:
>> PA'*PA ans = (1,1) 1.0000 >> norm(PA*PA' - AntisymmetricProjection(3,3),'fro') ans = 3.3307e-016
When DIM is too small
When DIM < P, the antisymmetric subspace is zero-dimensional, as verified in the DIM = 4, P = 6 case by the following line of code:
>> AntisymmetricProjection(4,6) ans = All zero sparse: 4096-by-4096
References
- ↑ John Watrous. Lecture 21: The quantum de Finetti theorem, Theory of Quantum Information Lecture Notes, 2008.
- ↑ R.B. Griffiths. Systems of Identical Particles, 33-756 Quantum Mechanics II Course Notes, 2011.