123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438 |
- Tue Feb 10 12:27:16 2004 run on Linux
- load crack,applysym$
- %*******************************************************************%
- % %
- % A P P L Y S Y M . T S T %
- % ----------------------- %
- % applysym.tst contains test examples to test the procedure %
- % quasilinpde in the file applysym.red. %
- % %
- % Author: Thomas Wolf %
- % Date: 22 May 1998 %
- % %
- % You need crack.red and applysym.red to run this demo. %
- % To use other contents of the program applysym, not demonstrated %
- % in this demo you need the program liepde.red. %
- % %
- % To run this demo you read in files with %
- % in "crack.red"$ %
- % in "applysym.red"$ %
- % or, to speed up the calculation you compile them before with %
- % faslout "crack"$ %
- % in "crack.red"$ %
- % faslend$ %
- % faslout "applysym"$ %
- % in "applysym.red"$ %
- % faslend$ %
- % and then load them with %
- % load crack,applysym$ %
- % %
- %*******************************************************************%
- load crack;
- lisp(depl!*:=nil)$
- % clearing of all dependencies
- setcrackflags()$
- lisp(print_:=nil)$
- on dfprint$
- comment
- -------------------------------------------------------
- This file is supposed to provide an automatic test of
- the program APPLYSYM. On the other hand the application
- of APPLYSYM is an interactive process, therefore the
- interested user should inspect the example described
- in APPLYSYM.TEX which demonstrates the application
- of symmetries to integrate a 2nd order ODE.
- Here the program QUASILINPDE for integrating first
- order quasilinear PDE is demonstrated.
- The following equation comes up in the elimination
- of resonant terms in normal forms of singularities
- of vector fields (C.Herssens, P.Bonckaert, Limburgs
- Universitair Centrum/Belgium, private communication);
- write"-------------------"$
- -------------------
- lisp(print_:=nil)$
- depend w,x,y,z$
- QUASILINPDE( df(w,x)*x+df(w,y)*y+2*df(w,z)*z-2*w-x*y, w, {x,y,z} )$
- x*y
- {{-----,
- z
- - log(z)*x*y + 2*w
- ---------------------,
- z
- x
- ---------}}
- sqrt(z)
- nodepend w,x,y,z$
- comment
- -------------------------------------------------------
- The result means that w is defined implicitly through
- x*y - log(z)*x*y + 2*w y
- 0 = ff(-----,---------------------,---------)
- z z sqrt(z)
- with an arbitrary function ff of 3 arguments. As the PDE
- was linear, the arguments of ff are such that we can
- solve for w:
- x*y y
- w = log(z)*x*y/2 + z*f(-----,---------)
- z sqrt(z)
- with an arbitrary function f of 2 arguments.
- -------------------------------------------------------
- The following PDEs are taken from E. Kamke,
- Loesungsmethoden und Loesungen von Differential-
- gleichungen, Partielle Differentialgleichungen
- erster Ordnung, B.G. Teubner, Stuttgart (1979);
- write"-------------------"$
- -------------------
- % equation 1.4 ----------------------
- lisp(depl!*:=nil)$
- depend z,x,y$
- QUASILINPDE( x*df(z,x)-y, z, {x,y})$
- {{log(x)*y - z,y}}
- write"-------------------"$
- -------------------
- % equation 2.5 ----------------------
- lisp(depl!*:=nil)$
- depend z,x,y$
- QUASILINPDE( x**2*df(z,x)+y**2*df(z,y), z, {x,y})$
- - x + y
- {{----------,z}}
- x*y
- write"-------------------"$
- -------------------
- % equation 2.6 ----------------------
- lisp(depl!*:=nil)$
- depend z,x,y$
- QUASILINPDE( (x**2-y**2)*df(z,x)+2*x*y*df(z,y), z, {x,y})$
- 2 2
- - (x + y )
- {{z,--------------}}
- y
- write"-------------------"$
- -------------------
- % equation 2.7 ----------------------
- lisp(depl!*:=nil)$
- depend z,x,y$
- QUASILINPDE( (a0*x-a1)*df(z,x)+(a0*y-a2)*df(z,y), z, {x,y})$
- a1*y - a2*x
- {{----------------,z}}
- a1*(a0*x - a1)
- write"-------------------"$
- -------------------
- % equation 2.14 ---------------------
- lisp(depl!*:=nil)$
- depend z,x,y$
- QUASILINPDE( a*df(z,x)+b*df(z,y)-x**2+y**2, z, {x,y})$
- 2 3 2 3 2 2 2 3
- {{a *y - 3*a*b*x*y - 3*b *z + 3*b *x *y - b *y ,
- a*y - b*x}}
- write"-------------------"$
- -------------------
- % equation 2.16 ---------------------
- lisp(depl!*:=nil)$
- depend z,x,y$
- QUASILINPDE( x*df(z,x)+y*df(z,y)-a*x, z, {x,y})$
- - a*x
- {{a*x - z,--------}}
- y
- write"-------------------"$
- -------------------
- % equation 2.20 ---------------------
- lisp(depl!*:=nil)$
- depend z,x,y$
- QUASILINPDE( df(z,x)+df(z,y)-a*z, z, {x,y})$
- a*x
- {{e ,x - y}}
- write"-------------------"$
- -------------------
- % equation 2.21 ---------------------
- lisp(depl!*:=nil)$
- depend z,x,y$
- QUASILINPDE( df(z,x)-y*df(z,y)+z, z, {x,y})$
- x x
- {{e *z,e *y}}
- write"-------------------"$
- -------------------
- % equation 2.22 ---------------------
- lisp(depl!*:=nil)$
- depend z,x,y$
- QUASILINPDE( 2*df(z,x)-y*df(z,y)+z, z, {x,y})$
- x/2 x/2
- {{e *z,e *y}}
- write"-------------------"$
- -------------------
- % equation 2.23 ---------------------
- lisp(depl!*:=nil)$
- depend z,x,y$
- QUASILINPDE( a*df(z,x)+y*df(z,y)-b*z, z, {x,y})$
- (b*x)/a y
- {{e ,------}}
- x/a
- e
- write"-------------------"$
- -------------------
- % equation 2.24 ---------------------
- lisp(depl!*:=nil)$
- depend z,x,y$
- QUASILINPDE( x*(df(z,x)-df(z,y))-y*df(z,y), z,{x,y})$
- {{x*(x + 2*y),z}}
- write"-------------------"$
- -------------------
- % equation 2.25 ---------------------
- lisp(depl!*:=nil)$
- depend z,x,y$
- QUASILINPDE( x*df(z,x)+y*df(z,y)-az, z, {x,y})$
- {{y,x}}
- write"-------------------"$
- -------------------
- % equation 2.26 ---------------------
- lisp(depl!*:=nil)$
- depend z,x,y$
- QUASILINPDE( x*df(z,x)+y*df(z,y)-z+x**2+y**2-1, z, {x,y})$
- 2 2
- x + y + z + 1 x
- {{-----------------,---}}
- y y
- write"-------------------"$
- -------------------
- % equation 2.39 ---------------------
- lisp(depl!*:=nil)$
- depend z,x,y$
- QUASILINPDE( a*x**2*df(z,x)+b*y**2*df(z,y)-c*z**2, z, {x,y})$
- b*y - c*z
- {{-----------,
- c*y*z
- - a*x + b*y
- --------------}}
- a*x*y
- write"-------------------"$
- -------------------
- % equation 2.40 ---------------------
- lisp(depl!*:=nil)$
- depend z,x,y$
- QUASILINPDE( x*y**2*df(z,x)+2*y**3*df(z,y)-2*(y*z-x**2)**2, z,
- {x,y})$
- 4 2 2
- log(y)*x - log(y)*x *y*z - y *z
- {{----------------------------------,
- 2 2
- x *(x - y*z)
- x
- ---------}}
- sqrt(y)
- write"-------------------"$
- -------------------
- % equation 3.12 ---------------------
- lisp(depl!*:=nil)$
- depend w,x,y,z$
- QUASILINPDE( x*df(w,x)+(a*x+b*y)*df(w,y)+(c*x+d*y+f*z)*df(w,z), w,
- {x,y,z})$
- 2
- - a*d*x + b*c*x + b*f*z - b*z - c*f*x - d*f*y + d*y - f *z + f*z
- {{-------------------------------------------------------------------,
- f 2
- x *(b*f - b - f + f)
- d*(a*x + b*y - y)
- -----------------------,
- b 2
- x *(b - b*f - b + f)
- w}}
- write"-------------------"$
- -------------------
- % end -------------------------------
- lisp(depl!*:=nil)$
- end$
- Time for test: 1520 ms, plus GC time: 50 ms
|