Fitxer:One dimensional quantum random walk.svg
De testwiki
Salta a la navegació
Salta a la cerca
Mida d'aquesta previsualització PNG del fitxer SVG: 576 × 432 píxels. Altres resolucions: 320 × 240 píxels | 640 × 480 píxels | 1.024 × 768 píxels | 1.280 × 960 píxels | 2.560 × 1.920 píxels.
Fitxer original (fitxer SVG, nominalment 576 × 432 píxels, mida del fitxer: 29 Ko)
Aquest fitxer prové de Wikimedia Commons i pot ser usat per altres projectes. La descripció de la seva pàgina de descripció es mostra a continuació.
Resum
| DescripcióOne dimensional quantum random walk.svg |
English: Probability distribution resulting from one dimensional discrete time random walks. The quantum walk created using the Hadamard coin is plotted (orange) vs a classical walk (blue) after 50 time steps. The average is marked with a vertical line in the same color. Starting conditions were (1*|↑⟩+0*|↓⟩)*|0⟩. |
| Data | |
| Font | File:One_dimensional_quantum_random_walk.png |
| Autor | shoyer |
- Code, python3.7:
import numpy as np
import math
import matplotlib.pyplot as plt
import time
import colorsys
import cmath
size=1000
def run_classical_randwalk(itersteps,initsim_mat):
simmat=initsim_mat
for iterstep in range(itersteps):
newsimmat=np.zeros((2*size+1,2), dtype=complex)
for matindex in range(2*size+1):
to_right=0.5*simmat[matindex][0]
to_left=0.5*simmat[matindex][0]
if(matindex-1>=0):
newsimmat[matindex-1][0]+=to_left
if(matindex+1<=2*size):
newsimmat[matindex+1][0]+=to_right
simmat=newsimmat
psisquared=np.zeros(2*size+1)
for matindex in range(2*size+1):
psisquared[matindex]+=abs(newsimmat[matindex][0])
average_x=0
min_x=0
max_x=0
datastartflag=0
for matindex in range(2*size+1):
if(datastartflag==0):
min_x=matindex
if(psisquared[matindex]>0):
datastartflag=1
max_x=matindex
average_x+=psisquared[matindex]*(matindex-(size+1))
print(f"validdatarange {max_x-min_x}")
return(range(min_x-(size+1),max_x-size,2),psisquared[min_x:max_x+1:2],average_x)
def run_quantum_randwalk(itersteps,initsim_mat):
simmat=initsim_mat
for iterstep in range(itersteps):
newsimmat=np.zeros((2*size+1,2), dtype=complex)
for matindex in range(2*size+1):
hadamard_spinup=1/math.sqrt(2)*(simmat[matindex][0]+simmat[matindex][1])
hadamard_spindown=1/math.sqrt(2)*(simmat[matindex][0]-simmat[matindex][1])
if(matindex-1>=0):
newsimmat[matindex-1][1]+=hadamard_spindown
if(matindex+1<=2*size):
newsimmat[matindex+1][0]+=hadamard_spinup
simmat=newsimmat
psisquared=np.zeros(2*size+1)
for matindex in range(2*size+1):
psisquared[matindex]+=abs(newsimmat[matindex][0])**2+abs(newsimmat[matindex][1])**2
average_x=0
min_x=0
max_x=0
datastartflag=0
for matindex in range(2*size+1):
if(datastartflag==0):
min_x=matindex
if(psisquared[matindex]>0):
datastartflag=1
max_x=matindex
average_x+=psisquared[matindex]*(matindex-(size+1))
print(f"validdatarange {max_x-min_x}")
return(range(min_x-(size+1),max_x-size,2),psisquared[min_x:max_x+1:2],average_x)
simmat=np.zeros((2*size+1,2), dtype=complex)
#(-size, ....,-1,0,1, size)
#first index spin up, second index spin down
simmat[size+1][0]=1.0
simmat[size+1][1]=0.0#1.0#1.0j
fig=plt.figure()
plt.xlabel("position")
plt.ylabel("probability of occurence")
q_list_return_50=run_quantum_randwalk(50,simmat)
c_list_return_50=run_classical_randwalk(50,simmat)
plt.plot(q_list_return_50[0],q_list_return_50[1],color="#e67300")
plt.plot(c_list_return_50[0],c_list_return_50[1],color="#0000a0")
xlim=plt.gca().get_xlim()
ylim=plt.gca().get_ylim()
plt.vlines(q_list_return_50[2],*ylim,color="#e67300",alpha=.7)
plt.vlines(c_list_return_50[2],*ylim,color="#0000a0",alpha=.7)
print(fig.axes)
plt.gca().spines['top'].set_visible(False)
plt.gca().spines['right'].set_visible(False)
plt.gca().grid(color='grey', linestyle='-', linewidth=0.25, alpha=0.5)
plt.show()
fig.savefig("One_dimensional_quantum_random_walk.svg")
Llicència
Aquest fitxer està subjecte a la llicència Creative Commons Reconeixement-CompartirIgual 3.0 No adaptada.
- Sou lliure de:
- compartir – copiar, distribuir i comunicar públicament l'obra
- adaptar – fer-ne obres derivades
- Amb les condicions següents:
- reconeixement – Heu de donar la informació adequada sobre l'autor, proporcionar un enllaç a la llicència i indicar si s'han realitzat canvis. Podeu fer-ho amb qualsevol mitjà raonable, però de cap manera no suggereixi que l'autor us dóna suport o aprova l'ús que en feu.
- compartir igual – Si modifiqueu, transformeu, o creeu a partir del material, heu de distribuir les vostres contribucions sota una llicència similar o una de compatible amb l'original.
Llegendes
Afegeix una explicació d'una línia del que representa aquest fitxer
Probability distribution resulting from one dimensional discrete time random walks. The quantum walk created using the Hadamard coin is plotted (orange) vs a classical walk (blue) after 50 time steps.
Wahrscheinlichkeitsverteilungen eindimensionaler diskreter Random Walks nach 50 Zeitschritten. Der Quantum Walk, erzeugt mit der Hadamard-Münze, ist in orange, der klassische Walk in blau eingezeichnet.
Elements representats en aquest fitxer
representa l'entitat
28 nov 2008
image/svg+xml
29.877 byte
98b5dec5f7a2f6c2515941cc0a9528646fd541ee
Historial del fitxer
Cliqueu una data/hora per veure el fitxer tal com era aleshores.
| Data/hora | Miniatura | Dimensions | Usuari/a | Comentari | |
|---|---|---|---|---|---|
| actual | 19:23, 12 set 2020 | 576 × 432 (29 Ko) | wikimediacommons>Benjamin Renz | Uploaded a work by shoyer from https://commons.wikimedia.org/wiki/File:One_dimensional_quantum_random_walk.png with UploadWizard |
Ús del fitxer
La pàgina següent utilitza aquest fitxer: