The expanded infinite potential well

Following this paper by C. Aslangul, consider the quantum infinite potential well in [0,1] with the N-th eigenstate as initial condition. After a sudden expansion to [0,Λ], with Λ>1, the evolution of the system is ruled by the Schrödinger equation {itΨ(x,t)=22mxxΨ(x,t)for 0<x<Λ,t>0,Ψ(0,t)=Ψ(Λ,t)=0,Ψ(x,0)=2θ(1x)sin(Nπx) where θ(x) is the Heaviside step function taking the value 1 if x0 and 0 if x<0.

For a/q an irreducible fraction, define p:[0,1/2]R given by p(x)=2Λ|Ψ(2Λx,aqT)|2withT=4mΛ2π. This is the probability density corresponding to the fractional time aT/q when [0,Λ] is normalized to [0,1/2].

If Λ>q for q odd or Λ>q/2 for q even the probability density "fragmentizes" into blocks of 2N peaks (coming from the initial condition) separated by forbidden zones (0-level plateaux) of width q1Λ1 or 2q1Λ1 depending on whether q is odd or even. The blocks in the extremes can be halved. If q is odd, there are qN peaks in total and if q is even, there are qN/2.

These are some plots of p under these conditions choosing Λ=10.7. All the figures in this document are produced with the sagemath code below. Full resolution versions are obtained clicking on the images.

fig107d10_2d7_1   fig107d10_1d12_2   fig107d10_3d10_1
Λ=10.7,    aq=27,    N=1 Λ=10.7,    aq=112,    N=2 Λ=10.7,    aq=310,    N=1

Now, consider the cases Λ<q when q is odd and Λ<q/2 when q is even. If 2NΛ is an odd integer, a plateau in the probability density p appears over the interval [cr,c+r][0,1/2]withc=2aqNΛ+12 where x is the function giving the distance to the nearest integer and r=1qq+Λ2Λif 2qandr=2qq+2Λ4Λif 2q.

In the following examples, the center and the boundary of the plateaux are marked with vertical lines.

fig5d2_1d3_1   fig5d2_13d18_3   fig5d4_11d6_2
Λ=52,    aq=13,    N=1 Λ=52,    aq=1318,    N=3 Λ=54,    aq=116,    N=2

The intervals in which the plateaux appear are [2/15,1/5], [3/10,11/30] and [7/30,13/30], respectively.

These are more examples exhibiting plateaux:

fig7d2_8d5_3   fig11d4_3d7_6   fig13d6_7d10_3
Λ=72,    aq=85,    N=3 Λ=114,    aq=37,    N=6 Λ=136,    aq=710,    N=3

This time, the intervals are [2/35,1/7], [25/77,30/77] and [43/130,61/130], respectively.

Under the previous conditions, if q divides 2NΛ when q is odd or if q divides 4NΛ when q is even, the plateaux correspond to forbidden zones (they carry zero probability) that are clipped at the extremes of the interval [0,1/2].

fig3d2_5d3_1   fig3d2_1d6_3   fig3d2_7d18_3
Λ=32,    aq=53,    N=1 Λ=32,    aq=16,    N=3 Λ=32,    aq=718,    N=3

Using the formulas, the forbidden zones are [1/3,1/2], [0,1/6] and [0,1/18], respectively. The rule is that for q odd they appear in the right extreme and for q even in the left extreme.

The proofs of the results mentioned here and a more detailed study of the expanded infinite well are the contents of a forthcoming joint paper.




The code

This is the SAGE code that produces all the images:

def c_a_q(a,k,q):
  # argument and conjugate
  # a constant factor of abs = 1 is indeterminate
  if is_even(q):
    if is_odd(k+q/2): return 0
    ai = ZZ( Mod(a,q)^-1 )
    argu = pi*ai*k^2/q/2
    return sqrt(2)*( cos(argu)+i*sin(argu) )
  fai = ZZ( Mod(4*a,q)^-1 )
  argu = 2*pi*fai*k^2/q
  return cos(argu)+i*sin(argu)
  
  
def dist(t):
  """
  Distance to Z
  """
  return abs( t - round(t) )
  
  

def dgraph(La,fr,N):
  if La<=1:
    print 'LAMBDA MUST BE GREATER THAN 1'
    return point([(0,0)],size=0)

  
  a, q = numerator(fr), denominator(fr)
    
  L = []
  h = 1/383

  # precompute Gauss sums
  GS = [ c_a_q(a,k,q) for k in srange(q)]

  ma = 0
  for xv in srange(0,1/2+1/2*h,1/2*h):
    S = 0.0
    lb1 = ceil( (-1/2/La+xv)*q )
    ub1 = ceil( (1/2/La+xv)*q )
    
    for k in srange( lb1, ub1 ):
      u = xv-k/q
      S += GS[k] * sin(2*La*N*pi*u)
      
    res = (4*La/q*abs(S)^2).n()
    if ma<res: ma=res
    
    L.append( (xv,res) )
    
  P = list_plot(L, plotjoined=True, thickness=3, fontsize=22)



  center = dist( 2*a*N*La/q+1/2 )

  if is_even(q):
    eps = 2*dist( q/4/La+1/2 )/q
  else:
    eps = dist( q/2/La+1/2 )/q
    
  if N*La-1/2 in ZZ:
    plate = True
  else:
    plate = False
    plates = r'$2N\Lambda$'+' is not odd'
    print plates

  if (La>q and is_odd(q)) or (2*La>q and is_even(q)):
    plates = 'FRAGMENTATION CASE'
    print plates
    plate = False


  if plate:
    P += line([(center+eps, 0), (center+eps, ma) ], color='red', thickness=1, linestyle='--', zorder=100)
    P += line([(center-eps, 0), (center-eps, ma) ], color='red', thickness=1, linestyle='--', zorder=100)
    P += line([(center, 0), (center, ma) ], color='magenta', thickness=1, zorder=100)

#    P += text('\n'+r'$\Lambda$='+str(La)+', a/q='+str(a/q)+', N='+str(N)+', pl=['+str(max(0,center-eps))+','+str(min(1/2,center+eps))+']', (0,ma*11/10), fontsize =15, horizontal_alignment='left')
    
    print 'c =', center,' r =',eps
    print '\n'+r'$\Lambda$='+str(La)+', a/q='+str(a/q)+', N='+str(N)+', pl=['+str(max(0,center-eps))+','+str(min(1/2,center+eps))+']'
  else:
    print plates
  
    
  P.set_axes_range(0, 0.5, 0, ma)
  return P


# Lambda, a/q, N

#fragmentation
LFN = [(107/10,2/7,1), (107/10,1/12,2), (107/10,3/10,1)]

#No fragmentation
LFN += [(5/2,1/3,1), (5/2,13/18,3), (5/4,11/6,2)]

#No fragmentation2
LFN += [(7/2,8/5,3), (11/4,3/7,6), (13/6,7/10,3)]

#No fragmentation 0-level
LFN += [(3/2,5/3,1), (3/2,1/6,3), (3/2,7/18,3)]

      
      

for item in LFN:
  La, fr, N = item[0], item[1], item[2]
  print '-------------'
#  print 'La =',La, ' a/q =',fr, ' N =',N
  P = dgraph(La,fr,N)
  fname = 'fig'+str(La)+'_'+str(fr)+'_'+str(N)+'.png'
  fname = './dark/' +fname.replace('/','d')
  print fname
  P.save(fname)