10

To my mind, this theorem is not very well stated in this form, if taken out of context. Where it says "phase gates", this may be misleading. It means specifically just $S=\sqrt{Z}$ and not what I think of as a phase gate, which can have an arbitrary phase (but they have very specifically introduced their terminology about 3 pages earlier). This is a key ...


9

Apart from the formal result about #P-hardness, there's something worth touching on, about the nature of strong simulation itself. I'll comment first on strong simulation, and then specifically on the quantum case. 1. Strong simulation even of classical randomised computation is hard Strong simulation is a very powerful concept — not only in the fact ...


6

When I run your code on the most recent version of qiskit I get the expected results {'11': 55, '00': 45}. It could be the case therefore that you are running an older version of qiskit and this has been fixed recently. I would suggest updating your version using pip install --upgrade qiskit


6

TL;DR: Hamiltonian simulation does not just mean "exponentiating $H$". It means finding a quantum circuit $U$ that approximates the matrix exponentiation $e^{-iHt}$. More importantly, the size of the Hamiltonian matrix $H$ isn't the key concern here. The gate complexity (or query complexity, in case the Hamiltonian is described as an oracle) of matrix ...


5

Let me first answer the general question how to get a reasonably tight Lieb-Robinson (LR) speed when you are facing a generic locally interacting lattice model, and then I'll come back to the 1D XY model in your question, which is very special to be exactly solvable. General Method The method to obtain the tightest bound to date (for a generic short-range ...


5

This doesn't really answer the question as it's not an online simulator. It might still be relevant though as it is a way to produce this sort of gifs if one has access to the software. It is relatively easy to do this sort of things using Wolfram Mathematica. As a quick and dirty example, if we just define a couple of relevant helper functions: pauliX = ...


5

Yes, you are correct. Non-Clifford gates cannot be transversely implemented, instead implementation generally requires distilling magic states or Toffoli states. In practice this requires significantly more spacetime volume than Clifford gates. For reference, see the introduction sections here and here. The natural expectation would be that no quantum ...


4

Depends on what you mean by SWAPN, that is what qubits are swapped. Your SWAP3 gate in Dirac notation is $$|000\rangle\langle 000|+|001\rangle\langle100|+|010\rangle\langle010|+|011\rangle\langle110|+|100\rangle\langle001|+|101\rangle\langle101|+|110\rangle\langle011|+|111\rangle\langle111|$$ that is the first and third qubits are swapped; assuming SWAPN ...


4

One of the simulators in Microsoft Quantum Development Kit is Toffoli simulator which seems to do exactly what you want. It supports a limited set of primitive gates (X, CNOT and Toffoli gates, as well as other gates when their effect is X or identity), measurements in the computational basis and DumpMachine to output the state of the simulator. It is a ...


4

Yes you can: When you build a noise model the noise is defined with respect to the name or label of gate objects, so you can use the labelto create multiple versions of a single gate but reference different errors in a noise model (NB: the transpiler strips away label information when it unrolls a gate not in the basis gates set). Selective noise on ...


4

how can you compare the result of your algorithm with an ideal evolution? You cannot and you do not need to. As you said, computing $e^{-iHt}$ is intractable for most of the interesting cases. If it was not, chemistry simulations would be easy, solving the Schrödinger equation too. The thing you can do though is to prove that your algorithm will, for a (...


4

Another way to think about this: To simulate what goes on in a quantum computer we have to do a lot of matrix math using $(2^N \times 2^N)$ matrices$^1$, and the action of (most) of the clifford gates can be actually be accomplished by applying some non-linear, low complexity matrix operation instead of a matrix multiplication. For example, the Pauli-X gate,...


4

AHusain's answer is absolutely correct, but perhaps lacks some detail. The circuit that you want to implement is Basically, the key is to realise that you want to apply phase $e^{i\alpha}$ to the basis elements $|00\rangle$ and $|11\rangle$, and $e^{-i\alpha}$ otherwise. In other words, you care about the parity of the two bits. If you can compute that ...


4

When using a simulator, it doesn't really matter what kind of qubit you refer to. You can even mix-and-match the types. The type of qubit only becomes relevant when you intend to run on a device, because devices have qubits at specific locations. For example, if you wanted to run on Bristlecone, you would limit yourself to GridQubit instances that actually ...


4

This is incorrect. The QASM simulator by default has no noise. The fluctuations in its results are a result of finite sampling of the output statevector. Thus, the QASM simulator is equivalent to running a quantum circuit on an ideal quantum computer. To add noise you can follow the example here: https://www.qiskit.org/aer


3

If you are looking for a more complete implementation of a quantum variational algorithm in the context of Cirq, I would recommend looking at the second example in the OpenFermion-Cirq notebook found here. It uses a custom ansatz for hydrogen in a minimal basis, but makes a bit more explicit all the required pieces. Another good example, perhaps without ...


3

Could someone please provide me with some reference to what he is saying? Here is a reference to a discussion of this and related questions: Quant. Inf. Comp. 10, 3-4 pp. pp0258-0271 (2010), or https://arxiv.org/abs/0811.0898


3

Thanks for pointing this out. This is a bug that occurs when only a subset of the qubits are measured. It's being fixed. Until then, workarounds are: Use Aer instead of BasicAer (always the best thing to do when possible). Use LegacySimulators instead of BasicAer (this will give a deprecation warning). Install Qiskit from the master branch, where the issue ...


3

I used this last time I needed to look up something about Bloch sphere. It's not perfect, since it doesn't allow entering the exact values of angles, let alone 2x2 matrices, but it has the benefit of being available online. This one looks promising in that it allows to enter matrices (and is also online), but I haven't tried it.


2

Yes, a classical computer can simulate a quantum computer in terms of computational efficiency but it would be limited up to 23 qubits till 2005-2006 using IBM Bluegene supercomputer cluster at Forschungszentrum Juelich in Germany. However, the latest update as per 2017 is a world record of 46 qubits. World Record: Quantum Computer with 46 Qubits simulated ...


2

After using the simulator, I am very impressed! From what I can tell, it has everything necessary to be universal. I will likely be using this quite a bit. To test drive it, I implemented a simple 3-qubit Fourier transform and applied it to a set of random initial states, then compared the result to the well known 3-qubit unitary DFT (dft) applied to the ...


2

To simulate a 3D material, the material's structure will need to be somewhat understood. That way the structure can be mapped to the qubit connectivity. Notice in this tutorial the qubits and their connections to each other are represented in graphs. The 3D material to be simulated can be put into a graph that will then be mapped to the qubit graph and the ...


2

It is important to realize that the depolarizing and dephasing channel (and pretty much any other noise model for that matter) do not represent unitary operations. This means there is no unitary operation (that takes qubit states to qubit states) corresponding to these channels. Rather, channels are more general: they map density operators to density ...


2

"SWAPN" isn't something that would be universally understood. But you say you want it for your Fourier Transform algorithm, so by that, I interpret that what you want is: SWAP2(1,N).SWAP2(2,N-1).SWAP2(3,N-2)...., i.e. the pairwise swap between opposite qubits. It depends on context as to what it is you actually want to write down. For implementing in some ...


2

The reason for this is because when you truncate the Hilbert space, applying the raising operator on the highest state raises you out of the Hilbert space, ie it gives a zero vector. Thus the commutator in matrix form is not the identity but a diagonal matrix with all ones expect for the last entry which is minus one. If your have any nonzero amplitude in ...


1

So, this can happen when the ode solvers automatic step size solver thinks that nothing is going on and takes a big step over the pulse. There is a max_step option that you can set. In practice, setting this to something like half the width of the smallest pulse in a pulse sequence works quite well. Then the solver sees the pulses and adjusts accordingly.


1

The action of any controlled gate is to do nothing (i.e. apply the identity operation) if the control qubit is in $\vert 0\rangle$ and apply an operation $U$ on the target when the control is in $\vert 1\rangle$. All other qubits in the system are also left untouched (i.e. apply the identity operation). Use the subscripts $c$ and $t$ for the control qubit ...


1

Conjugate by a CNOT, you'll see a controlled unitary of multiplying by $e^{\pm 2i a}$ depending on which CNOT you do and an overall phase of $e^{\mp i a}$.


1

Old answer : Maybe the answer mode differs using a different sampler. I have not tried but I know there is an option "answer_mode" in the sample_qubo method. If answer_mode='raw', you will have all responses not binned. If answer_mode='histogram', you should get them as bins. New answer : Dimod does not use the answer_mode argument. To work it in your way,...


1

That is a very old paper, corresponding to version one of the software. It is now on version 4.x. It is best to see the current documentation for how to use the Bloch sphere: http://qutip.org/docs/latest/guide/guide-bloch.html


Only top voted, non community-wiki answers of a minimum length are eligible