In [1]:
from sympy.physics.quantum import *
from sympy.physics.quantum.cartesian import *
from sympy.physics.quantum.operator import *
from sympy.physics.quantum.state import *
from sympy import *
from sympy.core.relational import *
from sympy.physics.units import degree
from sympy.abc import a, b, x, y, z, t, alpha, n, theta, h, f, lamda, i, k
from sympy.abc import w, u, d, beta, r, psi, o, l, c, gamma, phi, j, p, epsilon
In [2]:
H = HermitianOperator('H')
ketPsi = Ket(psi)
E = symbols('E', complex = True)
E_j = symbols('E_j', complex = True)
E_i = symbols('E_i', complex = True)
m = symbols('m', constant = True)
psiOfX = Function(psi)(x)
UOfX = Function('U')(x)
blankSpace = Dummy('')
momentumOperator = HermitianOperator('P')
potential = symbols('V')
M = UnitaryOperator('M')
U = UnitaryOperator('U')
U_0 = UnitaryOperator('U_0')
U_epsilon = UnitaryOperator('U_epsilon')
identity = IdentityOperator('I')
ketPsi_TEpsilon = Ket('\psi_{t+\epsilon}')
ketPsi_T = Ket('psi_t')
ketPsi_X = Ket('psi_x')
epsilon = symbols('epsilon', constant = True)
lamda_i = symbols('lambda_i')
AverageValue = symbols('A_v')
proability = Function('P')
alpha_i = symbols('alpha_i', complex =True)
alpha_j = symbols('alpha_j', complex =True)
alpha_j_0 = Function('alpha_j')(0)
ketX_i = Ket('x_i')
braX_i = Bra('x_i')
ketX_j = Ket('x_j')
braX_j = Bra('x_j')
M = Operator('M')
ketPsi_j = Ket('psi_j')
braPsi_j = Bra('psi_j')
ketPsi_i = Ket('psi_i')
braPsi_i = Bra('psi_i')
lamda_j = symbols('lambda_j', complex = True)
In [3]:
prodOfH_KetPsi = Eq(H * ketPsi, lamda * ketPsi)
display(prodOfH_KetPsi)
In [4]:
prodOfH_KetPsi = Eq(H * ketPsi, E * ketPsi)
display(prodOfH_KetPsi)
In [5]:
timeIndependantSchrodingerEq = Eq(Add(Mul(-hbar**2 / (2*m), Derivative(psiOfX, x, 2)), Mul(UOfX, psiOfX)) , E * psiOfX)
display(timeIndependantSchrodingerEq)
In [6]:
solOfH = Eq(Add(Mul(-hbar**2 / (2*m), Derivative(blankSpace, x, 2)), UOfX) * ketPsi , E * ketPsi)
display(solOfH)
In [7]:
valOfmomentumOperator = Eq(momentumOperator, -I * hbar * Derivative(blankSpace, x))
display(valOfmomentumOperator)
In [8]:
valOfH = Eq(H, momentumOperator**2 / (2 * m) + potential)
display(valOfH)
In [9]:
valOfH = Eq(H, Pow(-I * hbar * Derivative(blankSpace, x), 2, evaluate =False) / (2 * m) + potential)
display(valOfH)
In [10]:
valOfH = Eq(H, Pow(-I * hbar, 2)* Derivative(blankSpace, x, 2) / (2 * m) + potential)
display(valOfH)
In [11]:
prodOfM_MDagger = Eq(Mul(M, Dagger(M), evaluate = False), identity, evaluate = False)
display(prodOfM_MDagger)
In [12]:
prodOfU_UDagger = Eq(Mul(U, Dagger(U), evaluate = False), Mul(U, Dagger(U)), evaluate = False)
display(prodOfU_UDagger)
In [13]:
valOfU_0 = Eq(U_0, identity, evaluate = False)
display(valOfU_0)
In [14]:
valOfU_epsilon = Eq(U_epsilon, Add(identity, - I * epsilon * H / hbar), evaluate = False)
display(valOfU_epsilon)
In [15]:
prodOfU_UDagger = Eq(Mul(U, Dagger(U), evaluate = False), Mul(U, Dagger(U)), evaluate = False)
display(prodOfU_UDagger)
In [16]:
prodOfU_epsilon_U_epsilonDagger = Eq(identity,
Mul(Add(identity,
- I * epsilon * H / hbar),
Dagger(Add(identity,
- I * epsilon * H / hbar))),
evaluate = False)
display(prodOfU_epsilon_U_epsilonDagger)
In [17]:
prodOfU_epsilon_U_epsilonDagger = Eq(identity,
Add(identity,
I * epsilon * Add(Dagger(H), -H, evaluate = False) / hbar),
evaluate = False)
display(prodOfU_epsilon_U_epsilonDagger)
In [18]:
solForDerivativeOfKetPsi_T = Eq(ketPsi_TEpsilon, U_epsilon * ketPsi_T)
display(solForDerivativeOfKetPsi_T)
In [19]:
solForDerivativeOfKetPsi_T = Eq(ketPsi_TEpsilon, Add(ketPsi_T, - I * epsilon * H * ketPsi_T / hbar))
display(solForDerivativeOfKetPsi_T)
In [20]:
solForDerivativeOfKetPsi_T = Eq(Add(ketPsi_TEpsilon,- ketPsi_T) / epsilon, - I * H * ketPsi_T / hbar)
display(solForDerivativeOfKetPsi_T)
In [21]:
solForDerivativeOfKetPsi_T = Eq(Derivative(ketPsi_T, t), - I * H * ketPsi_T / hbar)
display(solForDerivativeOfKetPsi_T)
In [22]:
timeDependantSchrodingerEq = Eq(Derivative(ketPsi_T, t) * hbar / - I, H * ketPsi_T)
display(timeDependantSchrodingerEq)
In [23]:
prodOfMomentumOperator_ketPsi_X = Eq(momentumOperator * ketPsi,-I * hbar * Derivative(ketPsi, x))
display(prodOfMomentumOperator_ketPsi_X)
In [24]:
averageValEq = Eq(AverageValue, Sum(lamda_i * proability(lamda_i), (i, 1, n)))
display(averageValEq)
In [25]:
valOfKetPsi = Eq(ketPsi,
Sum(alpha_i * ketX_i, (i, 1, n)),
evaluate = False)
display(valOfKetPsi)
In [26]:
prodOfAlpha_i_ConjugateAlpha_i = Eq(alpha_i * conjugate(alpha_i), proability( ketX_i))
display(prodOfAlpha_i_ConjugateAlpha_i)
In [27]:
timeHonoredEq = Eq(M * ketPsi_j, lamda_j * ketPsi_j)
display(timeHonoredEq)
In [28]:
innerprodOfBraPsi_j_KetPsi_j = Eq(Mul(braPsi_j, M, ketPsi_j), Mul(Sum(braX_i * conjugate(alpha_i), (i, 1, n)),
M,
Sum(ketX_j * alpha_j, (j, 1, n))))
display(innerprodOfBraPsi_j_KetPsi_j)
In [29]:
innerprodOfBraPsi_j_KetPsi_j = Eq(Mul(braPsi_j, M, ketPsi_j), Sum(Mul(conjugate(alpha_i),
alpha_j,
braX_i,
M,
ketX_j),
(i, 1, n),
(j, 1, n)))
display(innerprodOfBraPsi_j_KetPsi_j)
In [30]:
innerprodOfBraPsi_j_KetPsi_j = Eq(Mul(braPsi_j, M, ketPsi_j), Mul(Sum(Mul(conjugate(alpha_i),
alpha_j,
lamda_j,
InnerProduct(braX_i,
ketX_j)),
(i, 1, n),
(j, 1, n))))
display(innerprodOfBraPsi_j_KetPsi_j)
In [31]:
innerprodOfBraPsi_j_KetPsi_j = Eq(Mul(braPsi_j, M, ketPsi_j), Sum(Mul(conjugate(alpha_j),
alpha_j,
lamda_j),
(j, 1, n)))
display(innerprodOfBraPsi_j_KetPsi_j)
In [32]:
innerprodOfBraPsi_j_KetPsi_j = Eq(Eq(Mul(braPsi_j, M, ketPsi_j), Sum(lamda_j * proability(lamda_j), (j, 1, n))), AverageValue)
display(innerprodOfBraPsi_j_KetPsi_j)
In [33]:
prodOfH_ketPsi_i = Eq(H * ketPsi_i, E_i * ketPsi_i)
display(prodOfH_ketPsi_i)
In [34]:
valOfKetPsi = Eq(ketPsi,
Sum(alpha_j * ketX_j, (j, 1, n)),
evaluate = False)
display(valOfKetPsi)
In [35]:
diffOfKetPsi = Eq(Derivative(ketPsi, t), Sum(Derivative(alpha_j, t) * ketX_j, (j, 1, n)))
display(diffOfKetPsi)
In [36]:
timeDependantSchrodingerEq = Eq(Derivative(ketPsi, t) * hbar / - I, H * ketPsi)
display(timeDependantSchrodingerEq)
In [37]:
diffOfKetPsi2 = Eq(Derivative(ketPsi, t), H * ketPsi * -I/ hbar)
display(diffOfKetPsi2)
In [38]:
diffOfKetPsi2 = Eq(Derivative(ketPsi, t), H * Sum(alpha_j * ketX_j, (j, 1, n)) * -I/ hbar)
display(diffOfKetPsi2)
In [39]:
diffOfKetPsi2 = Eq(Derivative(ketPsi, t), E_j * Sum(alpha_j * ketX_j, (j, 1, n)) * -I/ hbar)
display(diffOfKetPsi2)
In [40]:
diffOfAlpha_j = Eq(Derivative(alpha_j, t), E_j * alpha_j * -I/ hbar)
display(diffOfAlpha_j)
In [41]:
valOfAlpha_j = Eq(alpha_j, alpha_j_0 * exp(E_j * -I * t/ hbar))
display(valOfAlpha_j)
In [42]:
waveFunc = Eq(ketPsi,
Sum(alpha_j_0 * exp(E_j * -I * t/ hbar) * ketX_j, (j, 1, n)),
evaluate = False)
display(waveFunc)
In [43]:
expansionOfExponential = Eq(exp(-I*x), cos(x) - I * sin(x))
display(expansionOfExponential)
In [ ]: