WRITTEN BY RAB. DESOLN LISP CONTAINS A ROUTINE FOR SOLVING DIFFERENTIAL EQUATIONS OR SYSTEMS OF THEM BY USING LAPLACE TRANSFORMS. THE CALL IS: DESOLVE(EQ,VAR) OR DESOLVE([EQ1,...,EQN],[VAR1,...,VARN]) WHERE THE EQ'S ARE DIFFERENTIAL EQUATIONS IN THE DEPENDENT VARIABLES VAR1,...,VARN. THE FUNCTIONAL RELATIONSHIPS MUST BE EXPLICITLY INDICATED IN BOTH THE EQUATIONS AND THE VARIABLES, FOR EXAMPLE (C1) 'DIFF(F,X,2)=SIN(X)+'DIFF(G,X); (C2) 'DIFF(F,X)+X^2-F=2*'DIFF(G,X,2); IS NOT IN THE PROPER FORMAT. THE CORRECT WAY IS: (C3) 'DIFF(F(X),X,2)=SIN(X)+'DIFF(G(X),X); (C4) 'DIFF(F(X),X)+X^2-F(X)=2*'DIFF(G(X),X,2); THE QUOTES ARE NOT NECESSARY SINCE DIFF WILL RETURN THE NOUN FORMS ANYWAY. THE CALL IS THEN DESOLVE([D3,D4],[F(X),G(X)]); IF INITIAL CONDITIONS AT 0 ARE KNOWN, THEY SHOULD BE SUPPLIED BEFORE CALLING DESOLVE BY USING ATVALUE. EXAMPLE (C5) 'DIFF(F(X),X)='DIFF(G(X),X)+SIN(X); D D (D5) -- F(X) = -- G(X) + SIN(X) DX DX (C6) 'DIFF(G(X),X,2)='DIFF(F(X),X)-COS(X); 2 D D (D6) --- G(X) = -- F(X) - COS(X) 2 DX DX (C7) ATVALUE('DIFF(G(X),X),X=0,A); (D7) A (C8) ATVALUE(F(X),X=0,1); (D8) 1 (C9) DESOLVE([D5,D6],[F(X),G(X)]); X X (D9) [F(X) = A %E - A + 1, G(X) = COS(X) + A %E - A + G(0) - 1] /* VERIFICATION */ (C10) [D5,D6],D9,DIFF; X X X X (D10) [A %E = A %E , A %E - COS(X) = A %E - COS(X)]