Fitxategi:Quantum measurement animation.gif

Orriaren edukia ez da onartzen beste hizkuntza batzuetan.
Wikipedia, Entziklopedia askea

Quantum_measurement_animation.gif((350 × 350 pixel, fitxategiaren tamaina: 627 KB, MIME mota: image/gif), kiribildua, 101 irudi, 20s)

Fitxategi hau Wikimedia Commonsekoa da. Hango deskribapen orriko informazioa behean duzu.
Commons gordailu bat da, lizentzia askea duten multimedia fitxategiena. Lagun dezakezu.

Fitxategi hau Wikimedia Commonsekoa da

Laburpena

Deskribapena
English: A schematic animation that depicts a quantum measurement of spin-1/2 particles, such as electrons. Each particle passes through a setup of two magnets that deflect the particle's trajectory based on the value of its spin. If the spin points to the left, the particle is detected by the left detector. Similarly, if the spin is oriented to the right, the particle flies to the right detector. Nevertheless, if the spin points upward, a genuinely quantum behavior occurs. The spin up is a quantum superposition of a spin oriented to the left and a spin oriented to the right. As a result, the particle is deflected in both directions after passing the magnets. Till the very moment of registering the particle by a detector it cannot be determined, which way the particle takes. In the animation, the particle at the end impinges on the left detector, in which moment the reduction of the particle's wave function takes place. The particle could have ended up in the right detector with equal probability though.
Čeština: Schematická animace kvantového měření částic se spinem 1/2, jakými jsou třeba elektrony. Částice vlétávají mezi dva magnety, které vychýlí dráhu každé částice v závislosti na hodnotě jejího spinu. Pokud spin míří doleva, je částice detekována levým detektorem. Podobně, pokud je spin orientovaný doprava, dolétne částice do pravého detektoru. Pokud však spin míří vzhůru, dochází k čistě kvantovému chování. Spin vzhůru je kvantovou superpozicí spinu doleva a spinu doprava. Po průletu magnetem je tak částice vychýlena oběma směry a až těsně do okamžiku zaregistrování částice detektorem není jisté, kudy částice letí. V animaci nakonec dopadne částice do levého detektoru, kdy dojde k redukci vlnové funkce částice. Se stejnou pravděpodobností ale mohla tato částice skončit v detektoru pravém.
Data
Jatorria Norberak egina
Egilea JozumBjada

Lizentzia

Nik, lan honen egileak, argitaratzen dut ondorengo lizentzia pean:
w:eu:Creative Commons
eskuduntza berdin partekatu
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
Askea zara:
  • partekatzeko – lana kopiatzeko, banatzeko eta bidaltzeko
  • birnahasteko – lana moldatzeko
Ondorengo baldintzen pean:
  • eskuduntza – Egiletza behar bezala aitortu behar duzu, lizentzia ikusteko esteka gehitu, eta ea aldaketak egin diren aipatu. Era egokian egin behar duzu hori guztia, baina inola ere ez egileak zure lana edo zure erabilera babesten duela irudikatuz.
  • berdin partekatu – Lan honetan oinarrituta edo aldatuta berria eraikitzen baduzu, emaitza lana hau bezalako lizentzia batekin argitaratu behar duzu.

Source code

This animation was created using Wolfram language 12.0.0 for Microsoft Windows (64-bit) (April 6, 2019). The source code follows.

(* ::Package:: *)

(* ::Chapter:: *)
(*Quantum measurement*)

(* ::Text:: *)
(*Version: 12.0.0 for Microsoft Windows (64-bit) (April 6, 2019)*)

(* ::Section::Closed:: *)
(*Colors*)

(* ::Input::Initialization:: *)
gray=GrayLevel[0.75];
lightBlue=Lighter[Blue,.5];

(* ::Section::Closed:: *)
(*Particle*)

(* ::Input::Initialization:: *)
stretch[pt1_,pt2_,rad_:1]:=Module[{len=Norm[pt2-pt1],tube,w0,coef},
If[len==0,Return[{}]];
{w0,coef}={rad/2,2 rad/len^2};
tube=RevolutionPlot3D[w0+coef x^2,{x,-len/2,len/2},RevolutionAxis->{1, 0, 0},Mesh->None];
tube=First@Cases[InputForm[tube],_GraphicsComplex,Infinity,1];
tube=tube/.{(Lighting->_):>Nothing,_RGBColor->Nothing,_Specularity->Nothing};
tube=Translate[tube,{len/2,0,0}];
tube=Rotate[tube,{{1,0,0},pt2-pt1}];
tube=Translate[tube,pt1];
tube
]

(* ::Input::Initialization:: *)
trajectory[r_,pt1_,pt2_,pt3_]:=Piecewise[{{pt1+r/(1/3) ((pt2-pt1)/2),0<=r<1/3},{BSplineFunction[{(pt2+pt1)/2,pt2,(pt2+pt3)/2}][Rescale[r,{1/3,2/3},{0,1}]],1/3<=r<2/3},{(pt2+pt3)/2+(r-2/3)/(1/3) ((pt3-pt2)/2),2/3<=r<=1}}]
trajectoryUp[r_]:=trajectory[r,{0,0,0},{8,0,0},{16,0,8}]
trajectoryDown[r_]:=trajectory[r,{0,0,0},{8,0,0},{16,0,-8}]

(* ::Input::Initialization:: *)
subsceneParticle[r_,pathup_,sup_]:=Which[
r>.95,{},
r>.85,{lightBlue,Ball[If[pathup,trajectoryUp,trajectoryDown][r],.9]},
sup,{
{lightBlue,Opacity[.5],Ball[trajectoryUp[r],.9],Ball[trajectoryDown[r],.9]},
{Blue,Opacity[.5],stretch[trajectoryUp[r],trajectoryDown[r],.9]}
},
True,{lightBlue,Ball[If[pathup,trajectoryUp,trajectoryDown][r],.9]}
]

(* ::Section::Closed:: *)
(*Detectors*)

(* ::Input::Initialization:: *)
detector=RevolutionPlot3D[.2x^2 Exp[x],{x,0,1.65},BoxRatios->1,Mesh->False,PlotStyle->Thickness[.2]];
detector=First@Cases[InputForm[detector],_GraphicsComplex,Infinity,1];
detector=detector/.{(Lighting->_):>Nothing,_RGBColor->Nothing,_Specularity->Nothing};

(* ::Input::Initialization:: *)
Module[{col1=gray,col2=gray,ang=35,dist=17,vert=8},
detector1=Translate[Rotate[detector,(180+90-ang)Degree,{0,1,0}],{dist,0,vert}];
detector2=Translate[Rotate[detector,(-90+ang)Degree,{0,1,0}],{{dist,0,-vert}}];
]

(* ::Input::Initialization:: *)
subsceneDetectors[r_,partup_:True]:=Module[{col1=gray,col2=gray},
If[r>.9,If[partup,col1=Orange,col2=Orange]];
{{col1,detector1},{col2,detector2}}
]

(* ::Section::Closed:: *)
(*Magnet*)

(* ::Input::Initialization:: *)
magnets=Module[{vertsize=5,mag,dist=5,pts},
pts={{0,0},{1,0},{1.5,.5},{1,1},{0,1}};
pts=Join[{##,0}&@@@pts,{##,vertsize}&@@@pts];
mag={EdgeForm[None],Polyhedron[pts,{{1,2,3,4,5},{6,7,8,9,10},{1,2,7,6},{1,6,10,5},{2,3,8,7},{3,4,9,8},{4,5,10,9}}]};
mag=Scale[Translate[Rotate[mag,\[Pi]/2,{0,0,1}],{.5,-0.75,-vertsize/2}],1.5];
Rotate[{Translate[mag,{dist,-4,0}],Translate[Rotate[mag,\[Pi],{0,0,1}],{dist,4,0}]},\[Pi]/2,{1,0,0}]
];

(* ::Input::Initialization:: *)
subsceneMagnets[r_]:={EdgeForm[None],If[.2<=r<=.4,Red,gray],magnets}

(* ::Section::Closed:: *)
(*Labels*)

(* ::Input::Initialization:: *)
arrow=Graphics3D[{Blue,Arrowheads[0.5],Arrow@Tube[{{0,0,-1},{0,0,1}},0.12]},Boxed->False,ViewPoint->{5,0,0},PlotRange->{0.5{-1,1},0.5{-1,1},1.1{-1,1}}];
arrowOriented[x_,dir_]:=Inset[arrow,ImageScaled[{x,0.15}],ImageScaled[{0.5,0.5}],.2,dir]

(* ::Input::Initialization:: *)
labelsUpDown[r_,c1_,c2_,up_]:=Module[{fontSize=30},
Which[
r<c1,arrowOriented[.5,{0,If[up,1,-1]}],
r<c2,arrowOriented[Rescale[r,{c1,c2},{0.5,.3}],{0,If[up,1,-1]}],
True,{
arrowOriented[.3,{0,If[up,1,-1]}],
Text[Style["\[Implies]",fontSize],ImageScaled[{0.5,.15}]],
Text[Style[Subscript["D",If[up,"\[LeftArrow]","\[Rule]"]],Orange,fontSize],ImageScaled[{0.67,.15}],{0,0}]
}
]
]

(* ::Input::Initialization:: *)
labelsSup[r_,c1_,c2_,c3_,c4_]:=Module[{fontSize=30},
Which[
r<c1,arrowOriented[.5,{1,0}],
r<c2,arrowOriented[Rescale[r,{c1,c2},{0.5,.22}],{1,0}],
r<c3,{
arrowOriented[.22,{1,0}],
Text[Style["=",fontSize],ImageScaled[{0.32,.15}]],
arrowOriented[.45,{0,1}],
Text[Style["+",fontSize],ImageScaled[{0.6,.15}]],
arrowOriented[.75,{0,-1}]
},
r<c4,{
arrowOriented[Rescale[r,{c3,c4},{0.45,.2}],{0,1}],
	Text[Style["+",fontSize],ImageScaled[{Rescale[r,{c3,c4},{0.6,.35}],.15}]],
arrowOriented[Rescale[r,{c3,c4},{0.75,.5}],{0,-1}]
},
True,{
arrowOriented[.2,{0,1}],
	Text[Style["+",fontSize],ImageScaled[{.35,.15}]],
arrowOriented[.5,{0,-1}],
	Text[Style["\[Implies]",fontSize],ImageScaled[{.66,.15}]],
	Text[Style[Subscript["D","?"],Orange,fontSize],ImageScaled[{0.799,.15}],{0,0}]
	}
]
]

(* ::Section::Closed:: *)
(*Animation*)

(* ::Input::Initialization:: *)
animation[r_]:=Module[{state,subr,rup,rdown,epilog,c1=0.3,c2=0.5,sc1=.2,sc2=.4,sc3=.6,sc4=.8,fontSize=30,partup,sup},

(*choose state and rescale the time parameter*)
{rup,rdown}={2,4}/7.;
{subr,state}=Which[
r<rup,{Rescale[r,{0,rup},{0,1}],"Up"},
r<rdown,{Rescale[r,{rup,rdown},{0,1}],"Down"},
True,{Rescale[r,{rdown,1},{0,1}],"Sup"}
];
If[r==1,subr=1];

(*choose parameters depending on the state*)
{epilog,sup,partup}=Switch[state,
"Up",{labelsUpDown[subr,c1,c2,True],False,True},
"Down",{labelsUpDown[subr,c1,c2,False],False,False},
"Sup",{labelsSup[subr,sc1,sc2,sc3,sc4],True,True}
];
epilog={epilog,
Text[Style[Subscript["D","\[LeftArrow]"],Orange,fontSize],ImageScaled@{.25,.92}],
Text[Style[Subscript["D","\[Rule]"],Orange,fontSize],ImageScaled@{.78,.92}]
};

(*create graphics*)
Graphics3D[
(*scene*)
{subsceneParticle[subr,partup,sup],subsceneDetectors[subr,partup],subsceneMagnets[subr]},

(*options*)
Epilog->epilog,PlotRange->{{-1,20},5.5{-1,1},10{-1,1}},SphericalRegion->True,Lighting->"Neutral",Boxed->False,
ViewPoint->{-2.31`,-2.47`,-0.06`},ViewAngle->20Degree,ViewCenter->{0.3, 0.5, 0.5},ViewVertical->{1,0,0}
]
]

(* ::Section:: *)
(*Preview*)

(* ::Input:: *)
(*Manipulate[animation[r],{r,0,1,Appearance->"Open"}]*)

(* ::Section:: *)
(*Export*)

(* ::Input:: *)
(*{time,frames}=AbsoluteTiming[ParallelTable[Rasterize[animation[r],ImageSize->350],{r,0,1,.01}]];*)
(*Print@time;*)
(*Export["anim2.gif",frames,AnimationRepetitions->Infinity,"DisplayDurations"->.18]*)

Irudi-oineko testuak

Add a one-line explanation of what this file represents
Schematic animation of a quantum measurement of a spin

Fitxategi honetan agertzen diren itemak

honako hau irudikatzen du

11 abuztua 2021

media type ingelesa

image/gif

Fitxategiaren historia

Data/orduan klik egin fitxategiak orduan zuen itxura ikusteko.

Data/OrduaIruditxoaNeurriakErabiltzaileaIruzkina
oraingoa10:37, 14 abuztua 202110:37, 14 abuztua 2021 bertsioaren iruditxoa350 × 350 (627 KB)JozumBjadaCross-wiki upload from cs.wikipedia.org

Hurrengo orrialdeek dute fitxategi honetarako lotura:

Fitxategiaren erabilera orokorra

Hurrengo beste wikiek fitxategi hau darabilte:

Metadatuak