$SPAD/src/input nonlinhomodiffeq.input

jv1 December 3, 2016

Abstract

Contents

2

— * —

)set break resume
)sys rm -f nonlinhomodiffeq.output
)spool nonlinhomodiffeq.output
)set message test on
)set message auto off
)clear all

———-

Test 1: solve a simple nonlinear homogeneous differential equation — * —

--S 1 of 59
y := operator y
--R
--R
--R   (1)  y
--R                                                          Type: BasicOperator
--E 1
--S 2 of 59
deq1 := D(y(x),x) = 9-y(x)^2
--R
--R
--R         ,           2
--R   (2)  y (x)= - y(x)  + 9
--R
--R                                          Type: Equation(Expression(Integer))
--E 2
--S 3 of 59
solve(deq1,y,x)
--R
--R
--R        - log(y(x) + 3) + log(y(x) - 3) + 6x
--R   (3)  ------------------------------------
--R                          6
--R                                         Type: Union(Expression(Integer),...)
--E 3

———-

Test 2: solve a class of simple nonlinear homogeneous differential equations — * —

--S 4 of 59
deq2a := D(y(x),x) = c - p*y(x)^2
--R

--R
--R         ,             2
--R   (4)  y (x)= - p y(x)  + c
--R
--R                                          Type: Equation(Expression(Integer))
--E 4
--S 5 of 59
xpr2b := solve(deq2a,y,x)
--R
--R
--R                   2      +---+
--R            (p y(x)  + c)\|c p  - 2c p y(x)       +---+
--R        log(-------------------------------) + 2x\|c p
--R                            2
--R                      p y(x)  - c
--R   (5)  -----------------------------------------------
--R                              +---+
--R                            2\|c p
--R                                         Type: Union(Expression(Integer),...)
--E 5
--S 6 of 59
simplify(x-xpr2b)
--R
--R
--R                     2      +---+
--R              (p y(x)  + c)\|c p  - 2c p y(x)
--R          log(-------------------------------)
--R                              2
--R                        p y(x)  - c
--R   (6)  - ------------------------------------
--R                           +---+
--R                         2\|c p
--R                                                    Type: Expression(Integer)
--E 6

———-

Test 3; find general solutions for nonlinear homogeneous differential eqautions — * —

--S 7 of 59
f := operator f
--R
--R
--R   (7)  f
--R                                                          Type: BasicOperator
--E 7

--S 8 of 59
deq3 := D(y(x),x) = f(y(x))
--R
--R
--R         ,
--R   (8)  y (x)= f(y(x))
--R
--R                                          Type: Equation(Expression(Integer))
--E 8
--S 9 of 59
solve(deq3,y,x)
--R
--R
--R           y(x)
--R         ++       1
--I   (9)   |      ----- d%P  - x
--I        ++      f(%P)
--R                                         Type: Union(Expression(Integer),...)
--E 9

———-

Test 4: integration — * —

--S 10 of 59
integrate(1/(1-x^2),x)
--R
--R
--R         log(x + 1) - log(x - 1)
--R   (10)  -----------------------
--R                    2
--R                                         Type: Union(Expression(Integer),...)
--E 10

———-

Test 5: check result — * —

--S 11 of 59
xpr5 := (log(x+1)-log(x-1))/2
--R
--R
--R         log(x + 1) - log(x - 1)
--R   (11)  -----------------------
--R                    2
--R                                                    Type: Expression(Integer)
--E 11

--S 12 of 59
D(xpr5,x)
--R
--R
--R              1
--R   (12)  - ------
--R            2
--R           x  - 1
--R                                                    Type: Expression(Integer)
--E 12

———-

Test 6: check simplification — * —

--S 13 of 59
xpr6 := log(1+2/(x-1))/2
--R
--R
--R             x + 1
--R         log(-----)
--R             x - 1
--R   (13)  ----------
--R              2
--R                                                    Type: Expression(Integer)
--E 13
--S 14 of 59
D(xpr6,x)
--R
--R
--R              1
--R   (14)  - ------
--R            2
--R           x  - 1
--R                                                    Type: Expression(Integer)
--E 14

———-

Test 7: express y(x) as a function of x (replacing y(x) with z)

— * —

--S 15 of 59
eq7a := x = (log(z+1)-log(z-1))/2
--R
--R
--R            log(z + 1) - log(z - 1)
--R   (15)  x= -----------------------
--R                       2

--R                                          Type: Equation(Expression(Integer))
--E 15
--S 16 of 59
solve(eq7a,z)
--R
--R
--R                 - 2x
--R             - %e     - 1
--R   (16)  [z= ------------]
--R                - 2x
--R              %e     - 1
--R                                    Type: List(Equation(Expression(Integer)))
--E 16
--S 17 of 59
xpr7b := (1+exp(-2*z))/(1-exp(-2*z))
--R
--R
--R             - 2z
--R         - %e     - 1
--R   (17)  ------------
--R            - 2z
--R          %e     - 1
--R                                                    Type: Expression(Integer)
--E 17
--S 18 of 59
simplify(xpr7b)
--R
--R
--R             - 2z
--R         - %e     - 1
--R   (18)  ------------
--R            - 2z
--R          %e     - 1
--R                                                    Type: Expression(Integer)
--E 18

———-

Test 8 check simplified result — * —

--S 19 of 59
xpr8 := (1+exp(-2*x))/(1-exp(-2*x)) - (1+2/(exp(2*x)-1))
--R
--R
--R                    - 2x  2x
--R               - 2%e    %e   + 2

--R   (19)  -----------------------------
--R            - 2x       2x     - 2x
--R         (%e     - 1)%e   - %e     + 1
--R                                                    Type: Expression(Integer)
--E 19
--S 20 of 59
simplify(xpr8)
--R
--R
--R   (20)  0
--R                                                    Type: Expression(Integer)
--E 20

———-

Test 9 check result by substitution in the DEQ — * —

--S 21 of 59
xpr9a := (1+2/(exp(2*x)-1))
--R
--R
--R           2x
--R         %e   + 1
--R   (21)  --------
--R           2x
--R         %e   - 1
--R                                                    Type: Expression(Integer)
--E 21
--S 22 of 59
xpr9b := D(xpr9a,x)
--R
--R
--R                     2x
--R                  4%e
--R   (22)  - -------------------
--R              2x 2      2x
--R           (%e  )  - 2%e   + 1
--R                                                    Type: Expression(Integer)
--E 22
--S 23 of 59
xpr9c := 1-(xpr9a)^2
--R
--R
--R                     2x
--R                  4%e
--R   (23)  - -------------------

--R              2x 2      2x
--R           (%e  )  - 2%e   + 1
--R                                                    Type: Expression(Integer)
--E 23

———-

Test 10 finding the explicit solution for the deq in test 2 — * —

--S 24 of 59
wcp := sqrt(c*p)
--R
--R
--R          +---+
--R   (24)  \|c p
--R                                                    Type: Expression(Integer)
--E 24
--S 25 of 59
xpr10a := log(((p*z^2+c)*wcp-2*c*p*z)/(p*z^2-c))/(2*wcp)
--R
--R
--R                 2      +---+
--R             (p z  + c)\|c p  - 2c p z
--R         log(-------------------------)
--R                         2
--R                      p z  - c
--R   (25)  ------------------------------
--R                       +---+
--R                     2\|c p
--R                                                    Type: Expression(Integer)
--E 25
--S 26 of 59
solve(x = xpr10a,z)
--R
--R
--R   (26)
--R   [
--R     z =
--R                      +---+ 2              +---+
--R                   2x\|c p       +---+  2x\|c p
--R             (- (%e        )  + \|c p %e        )
--R          *
--R             ROOT
--R                         +---+
--R                      2x\|c p      +---+
--R                  c %e         - c\|c p
--R               /

--R                            +---+ 3                 +---+ 2             +---+
--R                         2x\|c p         +---+   2x\|c p          2  2x\|c p
--R                    p (%e        )  - 3p\|c p (%e        )  + 3c p %e
--R                  +
--R                         2 +---+
--R                    - c p \|c p
--R         +
--R           - c
--R      /
--R              +---+
--R           2x\|c p     +---+
--R         %e         - \|c p
--R     ,
--R
--R     z =
--R                    +---+ 2              +---+
--R                 2x\|c p       +---+  2x\|c p
--R             ((%e        )  - \|c p %e        )
--R          *
--R             ROOT
--R                         +---+
--R                      2x\|c p      +---+
--R                  c %e         - c\|c p
--R               /
--R                            +---+ 3                 +---+ 2             +---+
--R                         2x\|c p         +---+   2x\|c p          2  2x\|c p
--R                    p (%e        )  - 3p\|c p (%e        )  + 3c p %e
--R                  +
--R                         2 +---+
--R                    - c p \|c p
--R         +
--R           - c
--R      /
--R              +---+
--R           2x\|c p     +---+
--R         %e         - \|c p
--R     ]
--R                                    Type: List(Equation(Expression(Integer)))
--E 26
--S 27 of 59
eq10c := (p*z^2+c)*wcp - 2*c*p*z
--R
--R
--R             2      +---+
--R   (27)  (p z  + c)\|c p  - 2c p z
--R                                                    Type: Expression(Integer)
--E 27
--S 28 of 59

solve(eq10c=0,z)
--R
--R
--R                c         c
--R   (28)  [z= ------,z= ------]
--R              +---+     +---+
--R             \|c p     \|c p
--R                                    Type: List(Equation(Expression(Integer)))
--E 28
--S 29 of 59
xpr10d := p*wcp*(z-wcp/p)^2
--R
--R
--R             2      +---+
--R   (29)  (p z  + c)\|c p  - 2c p z
--R                                                    Type: Expression(Integer)
--E 29
--S 30 of 59
simplify(xpr10d/eq10c)
--R
--R
--R   (30)  1
--R                                                    Type: Expression(Integer)
--E 30
--S 31 of 59
xpr10e := (wcp/p)*(2/(1-exp(-2*wcp*x)/wcp)-1)
--R
--R
--R                        +---+
--R            +---+  - 2x\|c p
--R         - \|c p %e           - c p
--R   (31)  --------------------------
--R                   +---+
--R              - 2x\|c p      +---+
--R          p %e           - p\|c p
--R                                                    Type: Expression(Integer)
--E 31
--S 32 of 59
xpr10f := D(xpr10e,x)
--R
--R
--R                                      +---+
--R                          +---+  - 2x\|c p
--R                       4c\|c p %e
--R   (32)  - -------------------------------------------
--R                   +---+ 2                 +---+

--R              - 2x\|c p        +---+  - 2x\|c p
--R           (%e          )  - 2\|c p %e           + c p
--R                                                    Type: Expression(Integer)
--E 32
--S 33 of 59
xpr10g := c-p*(xpr10e)^2
--R
--R
--R                                      +---+
--R                          +---+  - 2x\|c p
--R                       4c\|c p %e
--R   (33)  - -------------------------------------------
--R                   +---+ 2                 +---+
--R              - 2x\|c p        +---+  - 2x\|c p
--R           (%e          )  - 2\|c p %e           + c p
--R                                                    Type: Expression(Integer)
--E 33
--S 34 of 59
simplify(xpr10f/xpr10g)
--R
--R
--R   (34)  1
--R                                                    Type: Expression(Integer)
--E 34

———-

Test 11 non-homogeneous generalization: c as a linear function of x — * —

--S 35 of 59
deq11a := D(y(x),x) = a*x+b-p*y(x)^2
--R
--R
--R          ,             2
--R   (35)  y (x)= - p y(x)  + a x + b
--R
--R                                          Type: Equation(Expression(Integer))
--E 35
--S 36 of 59
solve(deq11a,y,x)
--R
--R
--R   (36)  "failed"
--R                                                    Type: Union("failed",...)
--E 36

———-

Test 12 non-homogeneous generalization: c as arbitrary function of x — * —

--S 37 of 59
c := operator c
--R
--R
--R   (37)  c
--R                                                          Type: BasicOperator
--E 37
--S 38 of 59
deq12a := D(y(x),x) = c(x) - p*y(x)^2
--R
--R
--R          ,             2
--R   (38)  y (x)= - p y(x)  + c(x)
--R
--R                                          Type: Equation(Expression(Integer))
--E 38
--S 39 of 59
solve(deq12a,y,x)
--R
--R
--R   (39)  "failed"
--R                                                    Type: Union("failed",...)
--E 39

———-

Test 13 guessing solution for deq12a — * —

--S 40 of 59
wpcx := sqrt(c(x))*sqrt(p)
--R
--R
--R          +-+ +----+
--R   (40)  \|p \|c(x)
--R                                                    Type: Expression(Integer)
--E 40
--S 41 of 59
xpr13a := log((p*wpcx*(z-wpcx/p)^2)/(p*z^2-c(x)))/(2*wpcx)
--R
--R
--R                          2  +-+ +----+
--R             (- c(x) - p z )\|p \|c(x)  + 2p z c(x)

--R         log(--------------------------------------)
--R                                     2
--R                           c(x) - p z
--R   (41)  -------------------------------------------
--R                           +-+ +----+
--R                         2\|p \|c(x)
--R                                                    Type: Expression(Integer)
--E 41
--S 42 of 59
xpr13b := (wpcx/p)*(2/(1-exp(-2*wpcx*x)/wpcx)-1)
--R
--R
--R                             +-+ +----+
--R            +-+ +----+  - 2x\|p \|c(x)
--R         - \|p \|c(x) %e                - p c(x)
--R   (42)  ---------------------------------------
--R                     +-+ +----+
--R                - 2x\|p \|c(x)      +-+ +----+
--R            p %e                - p\|p \|c(x)
--R                                                    Type: Expression(Integer)
--E 42
--S 43 of 59
xpr13c := D(xpr13b,x)
--R
--R
--R   (43)
--R                          +-+ +----+ 2
--R          +-+ ,      - 2x\|p \|c(x)
--R       - \|p c (x)(%e               )
--R
--R     +
--R                                                                 +-+ +----+
--R              +----+             +-+  ,             2 +-+   - 2x\|p \|c(x)
--R       ((- 2p\|c(x)  - 4p x c(x)\|p )c (x) - 8p c(x) \|p )%e
--R
--R     +
--R              +-+ ,
--R       p c(x)\|p c (x)
--R
--R  /
--R                        +-+ +----+ 2                     +-+ +----+
--R          +----+   - 2x\|p \|c(x)              +-+  - 2x\|p \|c(x)
--R       2p\|c(x) (%e               )  - 4p c(x)\|p %e
--R     +
--R         2     +----+
--R       2p c(x)\|c(x)
--R                                                    Type: Expression(Integer)
--E 43

--S 44 of 59
xpr13d := c(x) - p*(xpr13b)^2
--R
--R
--R                                                +-+ +----+
--R                               +-+ +----+  - 2x\|p \|c(x)
--R                         4c(x)\|p \|c(x) %e
--R   (44)  - -------------------------------------------------------------
--R                   +-+ +----+ 2                      +-+ +----+
--R              - 2x\|p \|c(x)        +-+ +----+  - 2x\|p \|c(x)
--R           (%e               )  - 2\|p \|c(x) %e                + p c(x)
--R                                                    Type: Expression(Integer)
--E 44
--S 45 of 59
simplify(xpr13d/xpr13c)
--R
--R
--R   (45)
--R                          +-+ +----+                          +-+ +----+
--R         2    3 +-+  - 2x\|p \|c(x)       2    2 +----+  - 4x\|p \|c(x)
--R       8p c(x) \|p %e                - 16p c(x) \|c(x) %e
--R     +
--R                          +-+ +----+
--R              2 +-+  - 6x\|p \|c(x)
--R       8p c(x) \|p %e
--R  /
--R                                                                     +-+ +----+
--R           2     +----+     2      2 +-+  ,        2    3 +-+   - 2x\|p \|c(x)
--R       ((4p c(x)\|c(x)  + 4p x c(x) \|p )c (x) + 8p c(x) \|p )%e
--R
--R     +
--R               2       +----+           +-+  ,         2    2 +----+
--R         ((- 8p x c(x)\|c(x)  - 4p c(x)\|p )c (x) - 16p c(x) \|c(x) )
--R
--R      *
--R                +-+ +----+
--R           - 4x\|p \|c(x)
--R         %e
--R     +
--R                                                 +-+ +----+
--R                  +-+ ,             2 +-+   - 6x\|p \|c(x)
--R       (4p x c(x)\|p c (x) + 8p c(x) \|p )%e
--R
--R     +
--R                       +-+ +----+
--R        +-+ ,     - 8x\|p \|c(x)     2    2 +-+ ,
--R       \|p c (x)%e                - p c(x) \|p c (x)
--R

--R                                                    Type: Expression(Integer)
--E 45
--S 46 of 59
xpr13e := simplify(D((2/(1-exp(-2*wpcx*x)/wpcx)-1),x))
--R
--R
--R                                                                +-+ +----+
--R                    +----+    +-+  ,              +----+   - 2x\|p \|c(x)
--R             ((2p x\|c(x)  + \|p )c (x) + 4p c(x)\|c(x) )%e
--R
--R   (46)  ---------------------------------------------------------------------
--R                         +-+ +----+                 +-+ +----+
--R               +-+  - 2x\|p \|c(x)     +----+  - 4x\|p \|c(x)           +----+
--R         2c(x)\|p %e                - \|c(x) %e                - p c(x)\|c(x)
--R                                                    Type: Expression(Integer)
--E 46
--S 47 of 59
xpr13f := (wpcx-exp(-2*wpcx*x))^2
--R
--R
--R                 +-+ +----+ 2                      +-+ +----+
--R            - 2x\|p \|c(x)        +-+ +----+  - 2x\|p \|c(x)
--R   (47)  (%e               )  - 2\|p \|c(x) %e                + p c(x)
--R                                                    Type: Expression(Integer)
--E 47
--S 48 of 59
xpr13g := simplify(((2*p*c(x)*x+wpcx)*D(c(x),x)+4*p*c(x)^2)/wpcx)
--R
--R
--R           +-+ +----+              ,             2
--R         (\|p \|c(x)  + 2p x c(x))c (x) + 4p c(x)
--R
--R   (48)  -----------------------------------------
--R                         +-+ +----+
--R                        \|p \|c(x)
--R                                                    Type: Expression(Integer)
--E 48
--S 49 of 59
xpr13h := simplify((1+2*wpcx*x)*D(c(x),x)+4*wpcx*c(x))
--R
--R
--R             +-+ +----+      ,            +-+ +----+
--R   (49)  (2x\|p \|c(x)  + 1)c (x) + 4c(x)\|p \|c(x)
--R
--R                                                    Type: Expression(Integer)
--E 49

--S 50 of 59
simplify(xpr13h/xpr13g)
--R
--R
--R   (50)  1
--R                                                    Type: Expression(Integer)
--E 50
--S 51 of 59
xpr13i:=simplify((1/(wpcx-z)-1/(2*wpcx))*D(c(x),x)+_
                 ((1+2*wpcx*x)*D(c(x),x)+4*wpcx*c(x))*z/(wpcx-z)^2)
--R
--R
--R   (51)
--R                                2  +-+ +----+          2               3  ,
--R       (((- 4p x z - p)c(x) + 3z )\|p \|c(x)  + (4p x z  - p z)c(x) - z )c (x)
--R
--R     +
--R                  2 +-+ +----+       2    2
--R       - 8p z c(x) \|p \|c(x)  + 8p z c(x)
--R  /
--R                    3  +-+ +----+     2    2       2
--R     (6p z c(x) + 2z )\|p \|c(x)  - 2p c(x)  - 6p z c(x)
--R                                                    Type: Expression(Integer)
--E 51
--S 52 of 59
w := operator w
--R
--R
--R   (52)  w
--R                                                          Type: BasicOperator
--E 52
--S 53 of 59
z := operator z
--R
--R
--R   (53)  z
--R                                                          Type: BasicOperator
--E 53
--S 54 of 59
simplify(D((2/(1-z(x)/w(x))-1)*c(x)/w(x),x))
--R
--R
--R   (54)
--R                2 ,               2                           2  ,
--R       2c(x)w(x) z (x) + (c(x)z(x)  - 2c(x)w(x)z(x) - c(x)w(x) )w (x)

--R
--R     +
--R                  2       3  ,
--R       (- w(x)z(x)  + w(x) )c (x)
--R
--R  /
--R         2    2        3           4
--R     w(x) z(x)  - 2w(x) z(x) + w(x)
--R                                                    Type: Expression(Integer)
--E 54
--S 55 of 59
simplify((2*c(x)*w(x)^2*D(z(x),x)+(z(x)^2-2*w(x)*z(x)-w(x)^2)*c(x)*D(w(x),x)+_
         (w(x)^3-w(x)*z(x)^2)*D(c(x),x))/(w(x)^2*(z(x)-w(x))^2))
--R
--R
--R   (55)
--R                2 ,               2                           2  ,
--R       2c(x)w(x) z (x) + (c(x)z(x)  - 2c(x)w(x)z(x) - c(x)w(x) )w (x)
--R
--R     +
--R                  2       3  ,
--R       (- w(x)z(x)  + w(x) )c (x)
--R
--R  /
--R         2    2        3           4
--R     w(x) z(x)  - 2w(x) z(x) + w(x)
--R                                                    Type: Expression(Integer)
--E 55
--S 56 of 59
xpr13j:=simplify((2*c(x)*w(x)^2*w(x)*z(x)*(x/c(x)-1/2)+(z(x)^2-2*w(x)*z(x)-_
                 w(x)^2)*c(x)*(-w(x)/(2*c(x)))+(w(x)^2-w(x)*z(x)^2)*D(c(x),x))_
               /(w(x)^2*(z(x)-w(x))^2))
--R
--R
--R   (56)
--R           2          ,          2                      2                    2
--R   (- 2z(x)  + 2w(x))c (x) - z(x)  + ((- 2c(x) + 4x)w(x)  + 2w(x))z(x) + w(x)
--R
--R   ---------------------------------------------------------------------------
--R                                  2        2            3
--R                         2w(x)z(x)  - 4w(x) z(x) + 2w(x)
--R                                                    Type: Expression(Integer)
--E 56
--S 57 of 59
xpr13k:=simplify((1/(w(x)-z(x))-1/(2*w(x)))*D(c(x),x)+_
                 ((1+2*w(x)*x)*D(c(x),x)+4*w(x)*c(x))*z(x)/(w(x)-z(x))^2)
--R

--R
--R                2           2                    2  ,               2
--R         (- z(x)  + (4x w(x)  + 2w(x))z(x) + w(x) )c (x) + 8c(x)w(x) z(x)
--R
--R   (57)  ----------------------------------------------------------------
--R                                  2        2            3
--R                         2w(x)z(x)  - 4w(x) z(x) + 2w(x)
--R                                                    Type: Expression(Integer)
--E 57
--S 58 of 59
simplify(xpr13k/xpr13j)
--R
--R
--R   (58)
--R            2             2                    2  ,               2
--R       (z(x)  + (- 4x w(x)  - 2w(x))z(x) - w(x) )c (x) - 8c(x)w(x) z(x)
--R
--R   -----------------------------------------------------------------------
--R         2          ,          2                    2                    2
--R   (2z(x)  - 2w(x))c (x) + z(x)  + ((2c(x) - 4x)w(x)  - 2w(x))z(x) - w(x)
--R
--R                                                    Type: Expression(Integer)
--E 58
--S 59 of 59
simplify(xpr13k-xpr13j)
--R
--R
--R   (59)
--R            2           2                    2          ,          2
--R       (z(x)  + (4x w(x)  + 2w(x))z(x) + w(x)  - 2w(x))c (x) + z(x)
--R
--R     +
--R                         2                    2
--R       ((10c(x) - 4x)w(x)  - 2w(x))z(x) - w(x)
--R  /
--R              2        2            3
--R     2w(x)z(x)  - 4w(x) z(x) + 2w(x)
--R                                                    Type: Expression(Integer)
--E 59
)spool
)lisp (bye)

———-

References

[1] http://axiom-wiki.newsynthesis.org/SandBox13