Difference between revisions of "SwapOperator"
Jump to navigation
Jump to search
(Uploaded v1.01) |
|||
| Line 2: | Line 2: | ||
|name=SwapOperator | |name=SwapOperator | ||
|desc=Produces a [[unitary operator]] that swaps two subsystems | |desc=Produces a [[unitary operator]] that swaps two subsystems | ||
| − | | | + | |rel=[[PermutationOperator]]<br />[[PermuteSystems]]<br />[[Swap]]<br />[[SymmetricProjection]] |
| − | | | + | |cat=[[List of functions#Permutations_and_symmetry_of_subsystems|Permutations and symmetry of subsystems]] |
|upd=November 28, 2012 | |upd=November 28, 2012 | ||
| − | |v= | + | |v=0.50}} |
<tt>'''SwapOperator'''</tt> is a [[List of functions|function]] that returns a [[unitary operator]] that swaps two subsystems (there may be more than two subsystems overall – the extra subsystems are left alone). The unitary can be chosen to be full or sparse. | <tt>'''SwapOperator'''</tt> is a [[List of functions|function]] that returns a [[unitary operator]] that swaps two subsystems (there may be more than two subsystems overall – the extra subsystems are left alone). The unitary can be chosen to be full or sparse. | ||
| Line 21: | Line 21: | ||
==Examples== | ==Examples== | ||
| − | ===The standard | + | ===The standard swap operator=== |
| − | The following code produces the operator that | + | The following code produces the operator that swaps two qubits: |
| − | < | + | <syntaxhighlight> |
>> SwapOperator(2) | >> SwapOperator(2) | ||
| Line 34: | Line 34: | ||
0 1 0 0 | 0 1 0 0 | ||
0 0 0 1 | 0 0 0 1 | ||
| − | </ | + | </syntaxhighlight> |
| + | |||
| + | {{SourceCode|name=SwapOperator}} | ||
Revision as of 19:24, 23 September 2014
| SwapOperator | |
| Produces a unitary operator that swaps two subsystems | |
| Other toolboxes required | none |
|---|---|
| Related functions | PermutationOperator PermuteSystems Swap SymmetricProjection |
| Function category | Permutations and symmetry of subsystems |
SwapOperator is a function that returns a unitary operator that swaps two subsystems (there may be more than two subsystems overall – the extra subsystems are left alone). The unitary can be chosen to be full or sparse.
Syntax
- S = SwapOperator(DIM)
- S = SwapOperator(DIM,SYS)
- S = SwapOperator(DIM,SYS,SP)
Argument descriptions
- DIM: A specification of the dimensions of the subsystems that S will act on. DIM can be provided in one of two ways:
- If DIM is a scalar, then all subsystems are assumed to have dimension DIM.
- If the subsystems have unequal dimensions, DIM should be a vector containing their dimensions.
- SYS (optional, default [1,2]): A 1-by-2 vector containing the indices of the subsystems to be swapped.
- SP (optional, default 0): If set equal to 1, the swap operator is sparse. If equal to 0, the swap operator is full.
Examples
The standard swap operator
The following code produces the operator that swaps two qubits:
>> SwapOperator(2)
ans =
1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1Source code
Click here to view this function's source code on github.