<jupyter_start><jupyter_text>Observing Time Evolution<jupyter_code>no_kicks = 2000
w,p,psi_p = qkr(T=no_kicks, K=20, M=8, DIAG = 5)
pabs = np.sum(psi_p**2,axis=1)
plt.plot(p,np.abs(pabs))
plt.xlabel('Momentum (p)',fontsize=14)
plt.ylabel('$|\psi|(p)$',fontsize=14)
plt.title('Momentum space $|\psi (p) |^2$ after 2000 kicks',fontsize=14)
plt.show()
pabs = np.sum(psi_p**2,axis=1)
plt.plot(p,np.log(np.abs(pabs)))
plt.xlabel('Momentum (p)',fontsize=14)
plt.ylabel('$ln|\psi|(p)$',fontsize=14)
plt.title('Momentum space $|\psi (p) |$ after 2000 kicks',fontsize=14)
plt.show()
plt.plot(w/400)
plt.title('Variance of Momentum after each kick',fontsize=14)
plt.xlabel('No of kicks (n)',fontsize=14)
plt.ylabel(r'$\langle p^2 \rangle$ /D',fontsize=14)
plt.show()<jupyter_output><empty_output><jupyter_text>Floquet Eigenstates  Eigenstates of the Floquet Operator- The Floquet operator for the Quantum kicked rotor is given by : $$F = e^{-iK\cos{x}} e^{\frac{-ip^2}{2M}}$$- Using momentum eigenstates $| n \rangle, | m \rangle$ and the Bessel integral, we obtain the matrix elements of F as : $$\langle n | F | m \rangle = e^{\frac{-im^2}{2M}}i^{m-n} J_{m-n}(k)$$  First we look at the eigenvalues of the Floquet operator- The eigenvalues of the Floquet operator are called 'Quasi-Energies'- 'Quasi' because they aren't the eigenvalues of the Hamiltonian but its exponential<jupyter_code>f_eval, f_evec = get_floquet_eigenstates(basis_size=512,M=1,K=6)
# Plot eigenvalues
fig = plt.figure()
ax = fig.add_axes([0.1,0.1,0.9,0.9])
ax.plot(np.abs(f_eval),'rx', markersize=2, label='$| \lambda |$')
ax.plot(f_eval.real, 'bo',markersize=1, label='$| \lambda_{real} |$')
ax.set_title('Floquet eigenvalues',fontsize=18)
ax.set_ylabel('$| \lambda_{F} |$',fontsize=14)
ax.set_xlabel('Index of eigenvalue',fontsize=14)
plt.legend(prop={'size': 15},bbox_to_anchor=(1, 1))
plt.show()
# Plot the 2nd eigenvector
plot_floquet_eigenvector(f_evec[:,2])
plt.show()
# Plot the 169th eigenvector
plot_floquet_eigenvector(f_evec[:,169])
plt.show()
# Plot the 150th eigenvector
plot_floquet_eigenvector(f_evec[:,150])
plt.show()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1845937059652419, 'fraction_numerical': 0.040394551432597466, 'mean_word_length': 6.9182156133829, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '210207', 'license': 'Apache-2.0', 'n_tokens_mistral': 941, 'n_tokens_neox': 859, 'n_words': 178, 'path': 'notebooks/1dquantumkickedrotor.ipynb', 'repo_name': 'Anantha-Rao12/QuantChaos', 'size': '2129'}