File:One dimensional quantum random walk.svg
De Wikimedia Commons
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)
Informació del fitxer
Dades estructurades
Llegendes
Resum
[modifica]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
[modifica]Aquest fitxer està subjecte a la llicència de Creative Commons Reconeixement i Compartir Igual 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 generareu amb el material, haureu de distribuir les vostres contribucions sota una llicència similar o una de compatible com l'original
Historial del fitxer
Cliqueu una data/hora per veure el fitxer tal com era aleshores.
Data/hora | Miniatura | Dimensions | Usuari/a | Comentari | |
---|---|---|---|---|---|
actual | 18:23, 12 set 2020 | 576 × 432 (29 Ko) | Benjamin Renz (discussió | contribucions) | Uploaded a work by shoyer from https://commons.wikimedia.org/wiki/File:One_dimensional_quantum_random_walk.png with UploadWizard |
No podeu sobreescriure aquest fitxer.
Ús del fitxer
No hi ha pàgines que utilitzin aquest fitxer.
Ús global del fitxer
Utilització d'aquest fitxer en altres wikis:
- Utilització a ca.wikipedia.org
- Utilització a de.wikipedia.org
- Utilització a en.wikipedia.org
- Utilització a pt.wikipedia.org
Metadades
Aquest fitxer conté informació addicional, probablement afegida per la càmera digital o l'escàner utilitzat per a crear-lo o digitalitzar-lo. Si s'ha modificat posteriorment, alguns detalls poden no reflectir les dades reals del fitxer modificat.
Amplada | 460.8pt |
---|---|
Alçària | 345.6pt |
Dades estructurades
Elements representats en aquest fitxer
representa l'entitat
28 nov 2008
image/svg+xml
Categoria oculta: