Wed Apr 16 22:58:36 MET DST 1997 anne % axiom Axiom Computer Algebra System (Release 2.1) Digital Unix on DEC Alpha (AXIOM Sockets) The AXIOM server number is undefined. ----------------------------------------------------------------------------- Issue )copyright to view copyright notices. Issue )summary for a summary of useful system commands. Issue )quit to leave AXIOM and return to shell. ----------------------------------------------------------------------------- initial (1) -> -- ----------[ A x i o m ]---------- -- ---------- Initialization ---------- )set messages autoload off )set quit unprotected )set quit unprotected -- ---------- Partial Differential Equations ---------- -- This is the heat equation u:= operator('u); Type: BasicOperator heat:= D(u(x, t), t) - D(u(x, t), x, 2) = 0 (2) - u (x,t) + u (x,t)= 0 ,1,1 ,2 Type: Equation Expression Integer -- This is the similarity form of the proposed solution f:= operator('f); Type: BasicOperator s:= rule(u(x, t) == f(x/sqrt(t))/sqrt(t)) x 'f(----) +-+ \|t (4) u(x,t) == -------- +-+ \|t Type: RewriteRule(Integer,Integer,Expression Integer) -- Apply s to the heat equation s(lhs(heat)) = 0 ,, x +-+ , x x - 2tf (----) - x\|t f (----) - t f(----) +-+ +-+ +-+ \|t \|t \|t (5) -----------------------------------------= 0 2 +-+ 2t \|t Type: Equation Expression Integer -- Change to the similarity variable z = x/sqrt(t) subst(lhs(%), x = z*sqrt(t)) = 0 ,, , - 2f (z) - zf (z) - f(z) (6) -------------------------= 0 +-+ 2t\|t Type: Equation Expression Integer -- Eliminate the denominator % * denom(lhs(%)) ,, , (7) - 2f (z) - zf (z) - f(z)= 0 Type: Equation Expression Integer -- Now, solve the ordinary differential equation solve(%, f, z) >> Error detected within library code: not a kernel initial (8) -> real 14.1 user 4.7 sys 0.4 ------------------------------------------------------------------------------- Wed Apr 16 23:01:21 MET DST 1997 anne % axiom Axiom Computer Algebra System (Release 2.1) Digital Unix on DEC Alpha (AXIOM Sockets) The AXIOM server number is undefined. ----------------------------------------------------------------------------- Issue )copyright to view copyright notices. Issue )summary for a summary of useful system commands. Issue )quit to leave AXIOM and return to shell. ----------------------------------------------------------------------------- initial (1) -> -- ----------[ A x i o m ]---------- -- ---------- Initialization ---------- )set messages autoload off )set quit unprotected )set quit unprotected -- ---------- Partial Differential Equations ---------- f:= operator('f); Type: BasicOperator -- Weirdness; try again -2*D(f(z), z, 2) - z*D(f(z), z) - f(z) = 0 ,, , (2) - 2f (z) - zf (z) - f(z)= 0 Type: Equation Expression Integer solve(%, f, z) 2 2 2 z z %P - -- - -- z --- 4 4 ++ 4 (3) [particular= 0,basis= [%e ,%e | %e d%P ]] ++ Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) -- Finally, transform back to the original variables k2*%.basis.1 + k1*%.basis.2 2 2 2 z %P z - -- z --- - -- 4 ++ 4 4 (4) k1 %e | %e d%P + k2 %e ++ Type: Expression Integer subst(%, z = x/sqrt(t))/sqrt(t) x 2 ---- 2 2 x +-+ %P x - -- \|t --- - -- 4t ++ 4 4t k1 %e | %e d%P + k2 %e ++ (5) -------------------------------------- +-+ \|t Type: Expression Integer -- If we set k1 = 0 and k2 = 1/(2 sqrt(pi)) in the previous expression, -- we will obtain the usual fundamental solution of the heat equation 's = subst(%, [k1 = 0, k2 = 1/(2*sqrt(%pi))]) 2 x - -- 4t %e (6) s= ----------- +---+ +-+ 2\|%pi \|t Type: Equation Expression Integer -- ---------- Quit ---------- )quit real 17.2 user 5.7 sys 0.5