New answers tagged

0

If the input circuit has d_in gates, after applying unitary folding, one gets a circuit of d_out >= d_in gates. The scale_factor (approximately) determines how much you want to scale d_out with respect to d_in. In other words, a subset of gates are folded such that d_out is approximately equal to scale_factor * d_in. In your example: d_in = 4 d_out = 8 ...


2

First, take the case without encoding. Let there be an $X$ error with probability $p$, so the output state is $$ \rho=(1-p)|\psi\rangle\langle\psi|+pX|\psi\rangle\langle\psi|X. $$ Normally, I would just talk about the probability of an error (it lets you avoid some of the averaging I'm about to do), but we can talk about fidelity if you want. $$ F=\langle\...


1

I'm not sure that I would claim the two situations are entirely equivalent - if Alice and Bob share Bell pairs, there are extra things they could do (e.g. testing Bell inequalities), but in terms of the actual protocol applied, they're equivalent. One way to see this is to think about the protocol (more or less) as described: Alice first sends halves of ...


5

A shot is a full run of a circuit. If your circuit contains 100 measurements, sampling a shot from that circuit will produce 100 bits of measurement information. A round is a concept used by the circuit generation methods to parameterize how deep you want the generated circuit to be. Each of the generated circuits repeatedly measures some set of local ...


1

Let's start by considering specific density matrices $\rho=|i\rangle\langle i|$. This immediately tells you that $$ \langle i|\sum_kE_k^\dagger E_k|i\rangle=1, $$ and hence all diagonal elements of $\sum_kE_k^\dagger E_k$ are 1. Next, consider a more general $\rho$, which we divide into diagonal and off-diagonal components, $$ \rho=\rho_d+\rho_o. $$ We ...


2

Suppose that $$ \mathrm{tr}\left(\sum_k E_k\rho E_k^\dagger\right) = \mathrm{tr}(\rho) $$ for all $\rho$. Then $$ \mathrm{tr}\left(\sum_k E_k^\dagger E_k\rho\right) = \mathrm{tr}(I\rho) $$ for all $\rho$. The last equation can be rewritten in terms of Hilbert-Schmidt inner product as $$ \left\langle \sum_k E_k^\dagger E_k,\rho\right\rangle_{HS} = \left\...


2

For every matrix $A=\begin{pmatrix}a & x-iy\\x+iy & b\end{pmatrix}$(hermitian here) with real number $a,b,x,y$. And $A$ satisfy $Tr(A\rho)$ and $Tr(\rho)=1$, let's consider two by two matrix for example, we can choose $\rho=|0\rangle\langle 0|$ to make sure $Tr(A\rho)=I$. Then $A_{11}$ must be 1. For the same reason we can get $A_{22}=1$. Now $A=\...


3

Is [minimum weight perfect matching] an optimal decoder? No, it's not optimal. For example, it uses the weight of the shortest path between two detection events as an approximation for the contributions of all topologically equivalent paths. An optimal decoder would exactly compute the contributions of all possible errors consistent with the symptoms, ...


2

In a recent work Lovitz and Steffan (theorem 3.5) showed that for any non-stabilizer $n$-qubit state, there is a constant $\delta>0$, such that for every $n\geq 2$, $$\chi_\delta(\psi^{\otimes n})\geq \frac{\sqrt{n}}{2\log_2 n}.$$


1

An encoding circuit is needed [...] for toric and surface codes The notebook you linked does a surface code experiment at the end. It uses Stim's built-in surface code circuit generation (stim.Circuit.generated). Running: import stim circuit = stim.Circuit.generated( "surface_code:rotated_memory_z", distance=3, rounds=10**5, ...


0

I was able to setup the encoding and syndrome check for the example $[[5,1,3]]$ code. import stim circuit=stim.Circuit(''' RZ 0 1 2 3 RZ 4 H 0 CY 0 4 H 1 CX 1 4 H 2 CZ 2 0 CZ 2 1 CX 2 4 H 3 CZ 3 0 CZ 3 2 CY 3 4 MPP Y0*Z1*Z3*Y4 X1*Z2*Z3*X4 Z0*Z1*X2*X4 Z0*Z2*Y3*Y4 ''') sampler = circuit.compile_sampler() print(sampler.sample(shots=8)) The results : [[1 0 0 ...


1

The Hilbert space of the environment part of the state must have at least as many dimensions as the minimum number of Kraus operators $N$ used to describe the local state's evolution: $$|\psi\rangle\langle\psi|\to\mathrm{Tr}_E[U(|\psi\rangle\langle\psi|\otimes |0\rangle_E\langle 0|)U^\dagger]=\sum_{k=1}^N K_k|\psi\rangle\langle\psi| K_k^\dagger.$$ For the ...


1

You can use the MPP instruction to measure a Pauli product. For example, if one of the prepared stabilizers is $X_1 \cdot Z_2 \cdot Y_3 = +1$ then you can do: # [... encoding circuit ... ] # measure stabilizer MPP X1*Z2*Y3 # and claim it's supposed to have a deterministic result DETECTOR rec[-1] If you now sample the detectors of the circuit via circuit....


3

Peter Shor has two error correcting methods. One is the bit flip method and the other is the phase shift method. The bit flip method is similar to what you could use in classical computing, and is what I would recommend you use when comparing the two. The phase shift method is unique to quantum computing. This is a great link describing it. This circuit ...


5

Primal and dual lattice We do not need to use the dual lattice. The observation that the primal lattice is sufficient to describe both the $X$- and $Z$-type stabilizer generators is correct. To that end, we associate the data qubits with the edges of the lattice, one type of operators, e.g. $X$, with the vertices and the other type of operators, e.g. $Z$, ...


5

Can implementing error correction in this case be any easier than in the case of a general quantum circuit? Yes, for example you could use a classical error correcting code such as a repetition code. Or, and I really want to emphasize how much more efficient this would be as a strategy for running the computation, you could throw the quantum computer into a ...


2

Stim is very much a circuit focused simulator. It speaks quantum operations, not stabilizer configurations, so you have to convert your table of stabilizers into a stabilizer circuit. This is a bit inconvenient, but ultimately makes Stim much more flexible as a tool (e.g. it has no issues with gauge codes or non-foliated codes). The "proper" thing ...


3

For surface codes, the syndrome measurements collapse the errors into either being $X$ or $Z$ errors. All Clifford gates have easy-to-compute commutation relations with $X$ and $Z$ gates. So the idea is not to actually correct the errors, since that would require more quantum operations which are difficult and error-prone, but to simply track the errors and ...


2

I'd like to add some details to DaftWullie's answer. The key point is that while the logical $X$ operator, which I'll write as $X_L$, must, by definition, satisfy $$ X_L \left|+\right>_L = \left.|+\right>_L, \quad X_L \left|-\right>_L = -\left|-\right>_L $$ the analogous equation does not hold when $X_L$ is replaced with an $X$ operator acting on ...


0

As CX gate is a two-qubit gate, therefore, the size of the matrix which represents the two-qubit gate is 4x4. That's the reason why you have to use a tensor product with two error_gate1 (2x2) to create the error gate for CX gate. For the noise model, you should create the error for all types of gates that you are using in your circuit. Moreover, usually, two-...


3

I will assume you want a symmetric depolarizing channel that acts globally on an $n$-qubit system and applies one of $4^n-1$ nontrivial Paulis with equal probability. Note that we can generalize and slightly modify the Kraus representation given in the Wikipedia link to: \begin{equation}\label{eq:depol_kraus} \Delta_\lambda(\rho) = \sum_{j \in \{0,1, 2, ...


1

You have the initial state $|000\rangle$. The first Hadamard gate on qubit zero sends the register to $\frac{1}{\sqrt{2}}\left(|000\rangle + |100\rangle\right)$. Then, the $\text{CX}$ controlled on qubit zero and target on qubit one takes the state to $\frac{1}{\sqrt{2}}\left(|000\rangle + |110\rangle\right)$. And the next $\text{CX}$ between qubit zero and ...


2

That basically depends on your error rate. You want to perform error correction as infrequently as possible while still having a tolerably small failure probability for the error correction (because too many errors have happened since the last correction). For theoretical purposes, such as calculation of fault-tolerant thresholds, it is quite common to ...


0

TL;DR: Logical operations live in the set of operators $U_L\oplus U_N$ where $U_L$ acts on the code subspace and $U_N$ acts on its orthogonal complement. For a fixed logical operation $M$ there are many operators on the Hilbert space of the underlying $n$ physical qubits that realize $M$ within the code subspace. There is a subgroup $\mathcal{A}$ of the ...


Top 50 recent answers are included