Thank you so much sir for your advice.
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
<shyamlochan04@gmail.com> 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