Dear all,

I am tring to discretize the Hamiltonian containing the functional terms
(like sin(k_x) ), but I am getting an TypeError : 'Symbol' object is not
callable.
The code is
from __future__ import division
import kwant
import kwant.continuum
import scipy.sparse.linalg
import scipy.linalg
import numpy as np
import sympy
from math import sin, cos, sqrt, pi
import matplotlib.pyplot as plt
hamiltonian = ("""sigma_x * sin(k_x) + sigma_y * sin(k_y) +
sigma_0*(k_z)""")
hamiltonian = kwant.continuum.sympify(hamiltonian)
template, coords = kwant.continuum.discretize_symbolic(hamiltonian)
t = kwant.continuum.build_discretized(template, coords)
print(t)

TypeError                                 Traceback (most recent call
last)<ipython-input-5-2b66bb479997> in <module>      9 import
matplotlib.pyplot as plt     10 hamiltonian = ("""sigma_x * sin(k_x) +
sigma_y * sin(k_y) + sigma_0*(k_z)""")---> 11 hamiltonian =
kwant.continuum.sympify(hamiltonian)     12 template, coords =
kwant.continuum.discretize_symbolic(hamiltonian)     13 t =
kwant.continuum.build_discretized(template, coords)
/usr/local/lib/python3.6/dist-packages/kwant/continuum/_common.py in
sympify(expr, locals)    197     # sympy types.    198     subs = {r:
sympy.Symbol(str(r.func))(*r.args)--> 199             for r in
hamiltonian.atoms(sympy.Function)}    200     201     hamiltonian =
hamiltonian.subs(subs)
/usr/local/lib/python3.6/dist-packages/kwant/continuum/_common.py in
<dictcomp>(.0)    197     # sympy types.    198     subs = {r:
sympy.Symbol(str(r.func))(*r.args)--> 199             for r in
hamiltonian.atoms(sympy.Function)}    200     201     hamiltonian =
hamiltonian.subs(subs)
TypeError: 'Symbol' object is not callable

Could you please help me in the above context.

Thanks in Advance.

Naveen


-- 


With Best Regards
NAVEEN YADAV
Ph.D Research Scholar
Deptt. Of Physics & Astrophysics
University Of Delhi.

Reply via email to