import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.axes3d import Axes3D
%matplotlib inline
import matplotlib as mpl
import sys
label_size = 18
mpl.rcParams['xtick.labelsize'] = label_size
mpl.rcParams['ytick.labelsize'] = label_size
from matplotlib import rc
rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})
## for Palatino and other serif fonts use:
#rc('font',**{'family':'serif','serif':['Palatino']})
rc('text', usetex=True)
ψ1, ψ2 = np.linspace(0, 4*np.pi, 100), np.linspace(0, 4*np.pi,100)
X,Y = np.meshgrid(ψ1, ψ2)
def tunable_alpha_qubit(β, ψ1, ψ2, fα, f):
return 2 + 2*β - np.cos(ψ1) - np.cos(ψ2) - 2*β*np.cos(np.pi*fα)*np.cos(2*np.pi*f + np.pi*fα - ψ1- ψ2)
Z = tunable_alpha_qubit(.61, X, Y, 0.2, .1).T
fig = plt.figure(figsize=(5,4))
ax = Axes3D(fig)
p = ax.plot_surface(X, Y, Z, cmap = "inferno", rstride = 1, cstride = 1, alpha = 0.95)
cbar = fig.colorbar(p, shrink = 0.5)
cbar.ax.tick_params(labelsize = 16)
cbar.outline.set_visible(False)
ax.set_xticks([0, 3.5*np.pi])
ax.set_yticks([0, 3.5*np.pi])
ax.set_xlabel('$\psi_1$', fontsize = 22)
ax.set_ylabel('$\psi_2$', fontsize = 22)
ax.grid(False)
ax.xaxis.pane.set_edgecolor('black')
ax.yaxis.pane.set_edgecolor('black')
ax.zaxis.pane.set_edgecolor('black')
ax.xaxis.pane.fill = False
ax.yaxis.pane.fill = False
ax.zaxis.pane.fill = False
plt.savefig('basic2D_Ej1S' + '.png', format='png', dpi= 150, bbox_inches='tight');
fig = plt.figure(figsize=(10,4))
ax = fig.add_subplot(1,2,1, projection='3d')
p1 = ax.plot_surface(X, Y, Z, cmap = "inferno", rstride=1, cstride=1, alpha=0.95)
cbar = fig.colorbar(p1, shrink = 0.5)
cbar.ax.tick_params(labelsize = 16)
cbar.outline.set_visible(False)
ax.grid(False)
ax.xaxis.pane.set_edgecolor('black')
ax.yaxis.pane.set_edgecolor('black')
ax.zaxis.pane.set_edgecolor('black')
ax.xaxis.pane.fill = False
ax.yaxis.pane.fill = False
ax.zaxis.pane.fill = False
ax.set_xticks([0, 3.5*np.pi])
ax.set_yticks([0, 3.5*np.pi])
ax.set_xlabel('$\psi_1$', fontsize = 22)
ax.set_ylabel('$\psi_2$', fontsize = 22)
ax.view_init(30, 45)
ax = fig.add_subplot(1,2,2, projection='3d')
p2 = ax.plot_surface(X, Y, Z, cmap = "viridis", rstride=1, cstride=1, alpha=0.95)
cbar = fig.colorbar(p2, shrink = 0.5)
cbar.ax.tick_params(labelsize = 16)
cbar.outline.set_visible(False)
ax.set_xticks([0, 3.5*np.pi])
ax.set_yticks([0, 3.5*np.pi])
ax.set_xlabel('$\psi_1$', fontsize = 22)
ax.set_ylabel('$\psi_2$', fontsize = 22)
ax.grid(False)
ax.xaxis.pane.set_edgecolor('black')
ax.yaxis.pane.set_edgecolor('black')
ax.zaxis.pane.set_edgecolor('black')
ax.xaxis.pane.fill = False
ax.yaxis.pane.fill = False
ax.zaxis.pane.fill = False
ax.view_init(70, 30)
fig.tight_layout()
plt.savefig('basic2D_Ej1Sangle' + '.png', format='png', dpi= 100, bbox_inches='tight');
fig = plt.figure(figsize=(5,4))
ax = Axes3D(fig)
p = ax.plot_surface(X, Y, Z, cmap = "viridis", rstride = 1, cstride = 1, alpha = 0.95)
cbar = fig.colorbar(p, shrink = 0.5)
cbar.ax.tick_params(labelsize = 16)
cbar.outline.set_visible(False)
ax.set_xticks([0, 3.5*np.pi])
ax.set_yticks([0, 3.5*np.pi])
ax.set_xlabel('$\psi_1$', fontsize = 22)
ax.set_ylabel('$\psi_2$', fontsize = 22)
ax.grid(False)
ax.xaxis.pane.set_edgecolor('black')
ax.yaxis.pane.set_edgecolor('black')
ax.zaxis.pane.set_edgecolor('black')
ax.xaxis.pane.fill = False
ax.yaxis.pane.fill = False
ax.zaxis.pane.fill = False
ax.view_init(70, 30)
plt.savefig('basic2D_Ej1Sangle1' + '.png', format='png', dpi= 150, bbox_inches='tight');
print(f"Python version: {sys.version}")
print(" ")
print("numpy == ", np.__version__)
print("matplotlib == ", mpl.__version__)
Python version: 3.6.4 |Anaconda custom (64-bit)| (default, Jan 16 2018, 12:04:33) [GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] numpy == 1.14.0 matplotlib == 2.1.2