Loading [MathJax]/jax/output/HTML-CSS/jax.js
Ask Your Question
0

Substitution of subexpression

asked 7 years ago

wobbuuu gravatar image

Hi! My task is to derive some expression and then find subexpressions in it and substitute. In details I need to find derivative of psi and then substitute expressions back. The way I found this derivative looks ugly but I suppose it's easier to do substitution in such form of expression.

var('x, y, t, a, w, alpha, beta')
assume(w > 0)
assume(a > 0)
assume(x, y, t, 'real')
x1 = x*cos(w*t) + y*sin(w*t)
y1 = y*cos(w*t) - x*sin(w*t)

psi10 = 2/a * sin(2*pi/a*x2) * sin(pi/a*y2)
psi01 = 2/a * sin(pi/a*x2) * sin(2*pi/a*y2)

psi = alpha*psi10 + beta*psi01

psi_der = psi.diff(x2)*x1.diff(t) + psi.diff(y2)*y1.diff(t)
psi_der

2(wxcos(tw)+wysin(tw))(παcos(πy2a)sin(2πx2a)a2+2πβcos(2πy2a)sin(πx2a)a2)+ +2(wycos(tw)wxsin(tw))(πβcos(πx2a)sin(2πy2a)a2+2παcos(2πx2a)sin(πy2a)a2)

Then I need to substitute xcos(wt) + ysin(wt) to x2 and ycos(wt) - xsin(wt) to y2 for further integration over x2 and y2. Unfortunately, I didn't understand how to do this except that I need to use wild cards. So

w0 = SR.wild(0)
w1 = SR.wild(1)
pattern = x1*w0 + w1*y1
pattern

$0(xcos(tw)+ysin(tw))+$1(ycos(tw)xsin(tw)) which is looks pretty the same but somehow don't match:

print psi_der.match(pattern)

gives None.

Could someone explain what is going on or maybe I should use something else?

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
0

answered 7 years ago

ndomes gravatar image
Preview: (hide)
link

Comments

Interesting and confusing.. Why do I have to include w in subexpression?

wobbuuu gravatar imagewobbuuu ( 7 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 7 years ago

Seen: 470 times

Last updated: Nov 19 '17