PauliChannel
Jump to navigation
Jump to search
PauliChannel | |
Generates a Pauli channel | |
Other toolboxes required | none |
---|---|
Related functions | Pauli |
Function category | Superoperators |
PauliChannel is a function that generates the Choi matrix of a Pauli channel (either a random Pauli channel on a specified number of qubits, or a specific Pauli channel requested by the user). The output of this function is sparse.
Syntax
- PHI = PauliChannel(P)
Argument descriptions
- P: Either a positive integer, indicating that the user wants a randomly-generated P-qubit Pauli channel. Otherwise, P should be a probability vector of length $4^q$ for some integer $q \geq 1$, whose entries specify the weights of the Pauli operators in the channel's Kraus decomposition. More specifically, the weight of the $j$-th Pauli operator (in lexicographical order) in the Kraus operator representation of this channel will be $\sqrt{P(j)}$.
Examples
A random 1-qubit Pauli channel
The following code returns the Choi matrix a randomly-generated 1-qubit Pauli channel:
>> Phi = full(PauliChannel(1)) % generate the random Pauli channel
Phi =
0.5737 0 0 0.1346
0 0.4263 0.3196 0
0 0.3196 0.4263 0
0.1346 0 0 0.5737
>> celldisp(KrausOperators(Phi)) % look at its Kraus operators
ans{1} =
0 0.6107
0.6107 0
ans{2} =
0.5951 0
0 0.5951
ans{3} =
0.4686 0
0 -0.4686
ans{4} =
0 0.2310
-0.2310 0
A specific Pauli channel
The following code generates a Pauli channel with Kraus operators $\left\{\tfrac{1}{\sqrt{15}}I,\tfrac{2}{\sqrt{15}}X,\tfrac{3}{\sqrt{15}}Y,\tfrac{4}{\sqrt{15}}Z\right\}$, where $I,X,Y,Z$ are the usual Pauli operators:
>> Phi = full(PauliChannel([1,2,3,4]/15))
Phi =
0.3333 0 0 -0.2000
0 0.3333 -0.0667 0
0 -0.0667 0.3333 0
-0.2000 0 0 0.3333
>> celldisp(KrausOperators(Phi)) % look at its Kraus operators
ans{1} =
-0.5164 0.0000
0 0.5164
ans{2} =
-0.0000 0.4472
-0.4472 -0.0000
ans{3} =
-0.0000 0.3651
0.3651 -0.0000
ans{4} =
-0.2582 -0.0000
0 -0.2582
Source code
Click here to view this function's source code on github.