Teleportacja kwantowa

May 07 2023
Widzieliśmy w filmach, jak ludzie teleportują się z miejsca A do B bez przemierzania fizycznej przestrzeni, ale czy pozostanie to na zawsze science fiction? Rodzaj ludzki obejmuje naukę i technologię jak nigdy dotąd, a rzeczy, które przed wiekami uważano za fikcję, materializują się. Nawet naukowcy i futuryści przewidują, że rodzaj ludzki może w przyszłości stać się nieśmiertelny.

Widzieliśmy w filmach, jak ludzie teleportują się z miejsca A do B bez przemierzania fizycznej przestrzeni, ale czy pozostanie to na zawsze science fiction? Rodzaj ludzki obejmuje naukę i technologię jak nigdy dotąd, a rzeczy, które przed wiekami uważano za fikcję, materializują się. Nawet naukowcy i futuryści przewidują, że rodzaj ludzki może w przyszłości stać się nieśmiertelny. Tak więc istnieje wszelkie prawdopodobieństwo, że ludzie będą teleportować się z miejsca A do miejsca B, przynajmniej w nadchodzących stuleciach.

Naukowcy odkryli, że cząstki kwantowe mogą teleportować się z punktu A do punktu B bez przechodzenia przez przestrzeń fizyczną. Kiedy cząstki kwantowe mogą się teleportować, ludzie również mogą się teleportować, ponieważ budulcem materii we wszechświecie są atomy. Cząstkami kwantowymi mogą być elektron / foton / jon, które są budulcem atomu.

Przedstawienie teleportacji

Teoria teleportacji kwantowej

Quantum Teleportation to kwantowy protokół komunikacyjny, w którym kubity wysyłamy za pomocą klasycznych bitów. To tylko odwrócenie supergęstego kodowania, w którym wysyłamy dwa klasyczne bity za pomocą jednego kubitu. Zaletą teleportacji kwantowej jest jej zdolność do wysyłania informacji kwantowych na dowolnie duże odległości bez narażania stanów kwantowych na dekoherencję termiczną z otoczenia lub inne niekorzystne efekty.

Protokół teleportacji kwantowej
Obwód teleportacji kwantowej

Załóżmy, że Alicja chce wysłać kubit stanu C do Boba. Wykorzystuje dwa klasyczne bity i splątaną parę kubitów. Alicja może przenieść kubit i ostatecznie Bob będzie miał kubit w stanie C. Teraz możemy powiedzieć, że kubit C został przeteleportowany. Alicja nie będzie już miała kubitu stanu C. Teleportacja kwantowa wymaga trzech kubitów i dwóch klasycznych bitów do teleportacji nieznanego stanu kwantowego. Możesz zadać mi pytanie, dlaczego Alicja nie może utworzyć kopii stanu kubitu C? Odpowiedź brzmi NIE, ponieważ nie można utworzyć kopii stanu kubitu (w superpozycji) zgodnie z twierdzeniem o zakazie klonowania. Możemy stworzyć kopię tylko stanów klasycznych. Alicja i Bob powinni skorzystać z usług strony trzeciej, zwanej również Telamon, aby wysłać im splątaną parę kubitów. Poniżej przedstawiono kroki związane z teleportacją kwantową:

  1. Wygeneruj parę splątanych kubitów A, B i wyślij A do Alicji i B do Boba
  2. Alicja stosuje bramkę CNOT do kubitu (A) kontrolowanego przez C, a następnie stosuje bramkę Hadamarda do kubitu C
  3. Alicja mierzy stan kubitów i zapisuje wynik w klasycznych bitach i wysyła go do Boba
  4. Bob, który ma splątany kubit B, stosuje bramki kwantowe na podstawie otrzymanych bitów.

01: Zastosuj bramkę

10: Zastosuj bramkę Z

11: Zastosuj bramkę

5. Użyj symulatora kwantowego, aby przetestować teleportację kwantową

Teleportacja kwantowa za pomocą Qiskit

# Import the required libraries
from qiskit import QuantumCircuit, Aer, execute
from qiskit.visualization import plot_histogram
# Create 3 qubits and 3 classical bits
qc = QuantumCircuit(3, 3)

# Assign NOT gate to qubit 0
qc.x(0)

# Create a barrier
qc.barrier()

# Create a bell state by entangling the qubits 1 and 2 by using hadamard gate and CNOT gate
qc.h(1)
qc.cx(1, 2)

# Create a barrier
qc.barrier()

# Create a plot of the circuit
qc.draw(output="mpl")

      
                
# Apply CNOT gate to the qubit 0 qc.cx(0, 1) # Apply hadamard gate to circuit 0 qc.h(0) # create a barrier qc.barrier() # Create a plot qc.draw(output="mpl")
# Measure the qubits 0, 1 qc.measure([0, 1], [0, 1]) # Create a barrier qc.barrier() # Create a plot qc.draw(output="mpl")
# Apply CNOT gate on qubits 1, 2 qc.cx(1, 2) # Apply CNOT gate on qubits 0, 2 qc.cz(0, 2) # Measure the second qubit qc.measure([2], [2]) # Draw the circuit qc.draw(output="mpl")
# create a qasm simulator backend = Aer.get_backend("qasm_simulator") # Execute the circuit and the get counts result = execute(qc, backend, shots=1024).result().get_counts(qc) # plot the histogram plot_histogram(result)

Poniżej znajduje się mój link Github do przykładów obliczeń kwantowych, który zawiera pojedyncze bramki kubitowe, bramki wielokubitowe i protokoły kwantowe, takie jak teleportacja i supergęste kodowanie.