Artifact 641d34e374b2c2f10ca9ab3287ca55d89c278fdef76defbc39a507f375d821a8:
- File
r36/xlog/CHANGEVR.LOG
— part of check-in
[152fb3bdbb]
at
2011-10-17 17:58:33
on branch master
— svn:eol-style, svn:executable and line endings for files
in historical/r36 treegit-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1480 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: schoepf@users.sourceforge.net, size: 6297) [annotate] [blame] [check-ins using] [more...]
REDUCE 3.6, 15-Jul-95, patched to 6 Mar 96 ... %*********************************************************************; % This is a test file for the CHANGEVAR package. ; % Make sure that before you attempt to run it the ; % MATRIX package and CHANGEVAR is loaded. ; %*********************************************************************; algebraic; %*********************************************************************; % ON DISPJACOBIAN; % To get the Jacobians printed, remove the... ; % ... percentage sign before the word ON ; %*********************************************************************; % ; % *** First test problem *** ; % ; % Here are two Euler type of differential equations, ; % ; % 3 2 ; % 2 x y''' + 3 x y'' - y = 0 ; % ; % ; % 2 ; % 5 x y'' - x y' + 7 y = 0 ; % ; % ; % An Euler equation can be converted into a (linear) equation with ; % constant coefficients by making change of independent variable: ; % ; % u ; % x = e ; % ; % The resulting equations will be ; % ; % ; % 2 y''' - 3 y'' + y' - y = 0 ; % ; % and ; % ; % 5 y'' - 6 y' + 7 y = 0 ; % ; % ; % Where, now (prime) denotes differentiation with respect to the new ; % independent variable: u ; % How this change of variable is done using CHANGEVAR follows. ; % ; %*********************************************************************; operator y; changevar(y, u, x=e**u, { 2*x**3*df(y(x),x,3)+3*x**2*df(y(x),x,2)-y(x), 5*x**2*df(y(x),x,2)-x*df(y(x),x)+7*y(x) } ) ; {2*df(y(u),u,3) - 3*df(y(u),u,2) + df(y(u),u) - y(u), 5*df(y(u),u,2) - 6*df(y(u),u) + 7*y(u)} %*********************************************************************; % *** Second test problem *** ; % ; % Now, the problem is to obtain the polar coordinate form of Laplace's; % equation: ; % ; % 2 2 ; % d u d u ; % ------ + ------ = 0 ; % 2 2 ; % d x d y ; % ; % (The differentiations are partial) ; % ; % For polar coordinates the change of variables are : ; % ; % x = r cos(theta) , y = r sin(theta) ; % ; % As known, the result is : ; % ; % ; % 2 2 ; % d u 1 d u 1 d u ; % ------ + --- ------ + --- ---------- = 0 ; % 2 r d r 2 2 ; % d r r d theta ; % ; % How this change of variable is done using CHANGEVAR follows. ; % ; % 2 2 ; % (To get rid of the boring sin + cos terms we introduce a LET ; % statement) ; % ; %*********************************************************************; operator u; let sin theta**2 = 1 - cos theta**2 ; changevar(u, { r , theta }, { x=r*cos theta, y=r*sin theta }, df(u(x,y),x,2)+df(u(x,y),y,2) ) ; 2 df(u(r,theta),r,2)*r + df(u(r,theta),r)*r + df(u(r,theta),theta,2) --------------------------------------------------------------------- 2 r end; (TIME: changevr 100 100)