Thank you so much sir for your advice. On Fri, Aug 31, 2018 at 8:48 PM Anton Akhmerov <[email protected]> wrote:
> Dear Shyam Lochan Bora, > > Right now your question is rather poorly formulated, and not suitable > for this mailing list. Please read this instruction on how to ask good > questions: https://stackoverflow.com/help/how-to-ask > Additionally, it appears that your problem is due the lack of the > Python knowledge, I recommend you to follow a Python course, or > otherwise learn the language more systematically. > > Best regards, > Anton Akhmerov > On Fri, Aug 31, 2018 at 5:08 PM shyam lochan bora > <[email protected]> wrote: > > > > Dear sir, > > Please help me with the following error in the program > > from __future__ import print_function > > from ipywidgets import interact, interactive, fixed, interact_manual > > import ipywidgets as widgets > > import kwant > > from matplotlib import pyplot > > import numpy as np > > from holoviews.core.options import Cycle > > from types import SimpleNamespace > > > > def nanowire_chain(): > > lat = kwant.lattice.chain() > > sys = kwant.Builder(kwant.TranslationalSymmetry(*lat.prim_vecs)) > > > > def onsite(onsite, p): > > return (2 * p.t - p.mu) * pauli.szs0 + p.B * > (np.cos(p.phi)*pauli.s0sz+ > np.sin(p.phi)*np.sin(p.theta)*pauli.s0sy+np.sin(p.phi)*np.sin(p.theta)*pauli.s0sx)+ > p.delta * pauli.sxs0 > > > > sys[lat(0)] = onsite > > > > def hop(site1, site2, p): > > return -p.t * pauli.szs0 - .5j * p.alpha * pauli.szsx > > > > sys[kwant.HoppingKind((1,), lat)] = hop > > > > return sys > > > > > > def spinful_kitaev_chain(): > > lat = kwant.lattice.chain() > > sys = kwant.Builder(kwant.TranslationalSymmetry(*lat.prim_vecs)) > > > > def onsite(site, p): > > return (2 * p.t - p.mu) * pauli.szs0 + p.B * pauli.szsz > > > > sys[lat(0)] = onsite > > > > def hop(site1, site2, p): > > return -p.t * pauli.szs0 - 1j * p.delta * pauli.sys0 > > > > sys[kwant.HoppingKind((1,), lat)] = hop > > > > return sys > > > > > > def find_gap(sys, p, resolution=1e-4): > > """Find gap in a system by doing a binary search in energy.""" > > > > # This tells us if there are modes at a certain energy. > > if len(sys.modes(energy=0, args=[p])[0].momenta): > > return 0 > > > > gap = step = min(abs(kwant.physics.Bands(sys, args=[p])(k=0))) / 2 > > while step > resolution: > > step /= 2 > > if len(sys.modes(gap, args=[p])[0].momenta): > > gap -= step > > else: > > gap += step > > > > return gap > > > > > > def spinorbit_band_gap(sys, mu, t, delta, Bs): > > sys = sys.finalized() > > alphas = [0.0, 0.1, 0.2, 0.3] > > p = SimpleNamespace(mu=mu, t=t, delta=delta,theta=theta,phi=phi) > > > > def gap(sys, p, alpha, B): > > p.alpha = alpha > > p.B = B > > return find_gap(sys, p) > > > > gaps = [gap(sys, p, alpha, B) for alpha in alphas for B in Bs] > > gaps = np.reshape(gaps, (len(alphas), -1)) > > dims = {'kdims': [r'$B$'], 'vdims': ['Band gap']} > > B_crit = holoviews.VLine(np.sqrt(p.delta**2 + p.mu**2)) > > plot = [holoviews.Curve((Bs, gaps[i]), label=r'$\alpha={}$'.format( > > alphas[i]), **dims) * B_crit for i, alpha in enumerate(alphas)] > > title = r'$\Delta={delta}$, > $\mu={mu}$'.format(delta=np.round(p.delta, 2), mu=np.round(p.mu, 2)) > > style = {'xticks': [0, 0.1, 0.2, 0.3], 'yticks': [0, 0.05, 0.1], > 'fig_size': 150} > > plot = holoviews.Overlay(plot) > > return plot(plot=style) > > > > > > def title(p): > > try: > > title = r"$\alpha={alpha}$, $\mu={mu}$, $B={B}$, > $\Delta={delta}$" > > title = title.format(alpha=np.round(p.alpha, 2), > > mu=np.round(p.mu, 2), > > B=np.round(p.B, 2), > > delta=np.round(p.delta, 2)) > > except AttributeError: > > title = r"$\mu={mu}$, $B={B}$, $\Delta={delta}$" > > title = title.format(mu=np.round(p.mu, 2), > > B=np.round(p.B, 2), > > delta=np.round(p.delta, 2)) > > return title > > > > style = {'k_x': np.linspace(-1, 1, 101), > > 'xdim': r'$k$', > > 'ydim': r'$E/t$', > > 'xticks': [-1, 0, 1], > > 'yticks': [-1, 0, 1], > > 'xlims': [-1, 1], > > 'ylims': [-1.5, 1.5], > > 'title': title} > > sys = nanowire_chain() > > p = SimpleNamespace(t=1, mu=0.1, delta=0.1, > B=0.3,theta=np.pi/2,phi=np.pi/2) > > alphas = np.linspace(0, 0.4, 10) > > holoviews.HoloMap({alpha: spectrum(sys, p.update(alpha=alpha), **style) > for alpha in alphas}, kdims=[r'$\alpha$']) > > > > c:\python36\lib\site-packages\kwant\linalg\lll.py:103: FutureWarning: > `rcond` parameter will change to the default of machine precision times > ``max(M, N)`` where M and N are the input matrix dimensions. > > To use the future default and silence this warning we advise to pass > `rcond=None`, to keep using the old, explicitly pass `rcond=-1`. > > coefs = np.linalg.lstsq(vecs_orig.T, vecs.T)[0] > > c:\python36\lib\site-packages\kwant\linalg\lll.py:144: FutureWarning: > `rcond` parameter will change to the default of machine precision times > ``max(M, N)`` where M and N are the input matrix dimensions. > > To use the future default and silence this warning we advise to pass > `rcond=None`, to keep using the old, explicitly pass `rcond=-1`. > > center_coords = np.array(np.round(np.linalg.lstsq(basis.T, vec)[0]), > int) > > > > > --------------------------------------------------------------------------- > > NameError Traceback (most recent call > last) > > <ipython-input-3-9ff9219a759e> in <module>() > > 2 p = SimpleNamespace(t=1, mu=0.1, delta=0.1, > B=0.3,theta=np.pi/2,phi=np.pi/2) > > 3 alphas = np.linspace(0, 0.4, 10) > > ----> 4 holoviews.HoloMap({alpha: spectrum(sys, p.update(alpha=alpha), > **style) for alpha in alphas}, kdims=[r'$\alpha$']) > > > > NameError: name 'holoviews' is not defined >
