Beispiel #1
0
from SimpleQmap import Qmap, StandardMap
import matplotlib.pyplot as plt
import numpy as np

dim = 70
k = 1.0
qmin, qmax = 0.0, 1.0
pmin, pmax = 0.0, 1.0
domain = [[qmin, qmax], [pmin, pmax]]

map = StandardMap(k=k)
qmap = Qmap(map, dim, domain)

evals, evecs = qmap.eigen()  # get eigen value and eigen vectors

print("is unitary?",
      np.all(np.abs(np.abs(evals * np.conj(evals)) - np.ones(dim)) < 1e-12))

fig = plt.figure(figsize=(6, 6))
theta = np.linspace(-np.pi, np.pi, 500)
z = np.exp(-1.j * theta)
plt.plot(evals.real, evals.imag, 'o', markersize=8)
plt.plot(z.real, z.imag, '-k')
plt.xlim(-1.1, 1.1)
plt.ylim(-1.1, 1.1)
plt.grid()
plt.xlabel(r"$Re[u_n]$", fontsize=20)
plt.ylabel(r"$Im[u_n]$", fontsize=20)
plt.tight_layout()
plt.savefig("eigen_values.png")
plt.show()
Beispiel #2
0
from SimpleQmap import Qmap, StandardMap
import matplotlib.pyplot as plt
import numpy as np

dim = 70
k = 1.0
qmin, qmax = 0.0, 1.0
pmin, pmax = -2.0, 2.0

tmax = 7
map = StandardMap(k=k)
domain = [[qmin, qmax], [pmin, pmax]]
qmap = Qmap(map, dim, domain)
#state = qmap.getState().cs(0.5,0.5)
state = qmap.getState()
state.insert(int(dim / 2), 1.0 + 0.j)
init = state.p2q()

qmap.setInit(init)

for i in range(tmax):
    state = qmap.getIn()
    print("%d-th step" % i, state.norm())
    pvec = state.prep()
    zero_index = (pvec.abs2() == 0.0)
    pvec[zero_index] = 1e-32 + 0.0j
    par = 1. * i / tmax
    plt.plot(state.scaleinfo.x[1],
             pvec.abs2(),
             '-',
             linewidth=3,
Beispiel #3
0
from SimpleQmap import Qmap, StandardMap
import matplotlib.pyplot as plt
import numpy as np

dim = 70
k = 1.0
qmin, qmax = 0.0, 1.0
pmin, pmax = 0.0, 1.0
domain = [[qmin,qmax],[pmin,pmax]]

map = StandardMap(k=k)
qmap = Qmap(map, dim, domain)

evals, evecs = qmap.eigen() # get eigen value and eigen vectors

print("is unitary?",np.all(np.abs(np.abs(evals*np.conj(evals))-np.ones(dim))<1e-12))


fig = plt.figure(figsize=(6,6))
theta = np.linspace(-np.pi,np.pi, 500)
z = np.exp(-1.j*theta)
plt.plot(evals.real, evals.imag, 'o',markersize=8)
plt.plot(z.real, z.imag, '-k')
plt.xlim(-1.1,1.1)
plt.ylim(-1.1,1.1)
plt.grid()
plt.xlabel(r"$Re[u_n]$",fontsize=20)
plt.ylabel(r"$Im[u_n]$",fontsize=20)
plt.tight_layout()
plt.savefig("eigen_values.png")
plt.show()
Beispiel #4
0
from SimpleQmap import Qmap, StandardMap
import matplotlib.pyplot as plt
import numpy as np

dim = 70
k = 1.0
qmin, qmax = 0.0, 1.0
pmin, pmax = -2.0, 2.0

tmax = 7
map = StandardMap(k=k)
domain = [[qmin,qmax],[pmin,pmax]]
qmap = Qmap(map, dim, domain)
#state = qmap.getState().cs(0.5,0.5)
state = qmap.getState()
state.insert(int(dim/2), 1.0+0.j)
init = state.p2q()

qmap.setInit(init)

for i in range(tmax):
    state = qmap.getIn()
    print("%d-th step" % i, state.norm())    
    pvec = state.prep()
    zero_index = (pvec.abs2() == 0.0)
    pvec[zero_index] = 1e-32 + 0.0j
    par = 1.*i/tmax
    plt.plot(state.scaleinfo.x[1],pvec.abs2(), '-',linewidth=3,color=plt.cm.jet(par), label='%d step' % i)
#    state.savetxt("evolv_qrep_%d.dat" % i)
    qmap.evolve()