Next: Possible improvements to contrib_ode, Previous: Introduction to contrib_ode, Up: contrib_ode [Contents][Index]

### 49.2 Functions and Variables for contrib_ode

Function: contrib_ode (eqn, y, x) ¶

  Returns a list of solutions of the ODE eqn with independent variable x and dependent variable y.

  Categories: Package contrib_ode ·

Function: odelin (eqn, y, x) ¶

  `odelin` solves linear homogeneous ODEs of first and second order with independent variable x and dependent variable y. It returns a fundamental solution set of the ODE.

  For second order ODEs, `odelin` uses a method, due to Bronstein and Lafaille, that searches for solutions in terms of given special functions.

      (%i1) load("contrib_ode")$

      (%i2) odelin(x*(x+1)*'diff(y,x,2)+(x+5)*'diff(y,x,1)+(-4)*y,y,x);
             gauss_a(- 6, - 2, - 3, - x)  gauss_b(- 6, - 2, - 3, - x)
      (%o2) {---------------------------, ---------------------------}
                          4                            4
                         x                            x

  Categories: Package contrib_ode ·

Function: ode_check (eqn, soln) ¶

  Returns the value of ODE eqn after substituting a possible solution soln. The value is equivalent to zero if soln is a solution of eqn.

      (%i1) load("contrib_ode")$

      (%i2) eqn:'diff(y,x,2)+(a*x+b)*y;
                               2
                              d y
      (%o2)                   --- + (b + a x) y
                                2
                              dx

      (%i3) ans:[y = bessel_y(1/3,2*(a*x+b)^(3/2)/(3*a))*%k2*sqrt(a*x+b)
               +bessel_j(1/3,2*(a*x+b)^(3/2)/(3*a))*%k1*sqrt(a*x+b)];
                                        3/2
                          1  2 (b + a x)
      (%o3) [y = bessel_y(-, --------------) %k2 sqrt(a x + b)
                          3       3 a
                                                3/2
                                  1  2 (b + a x)
                       + bessel_j(-, --------------) %k1 sqrt(a x + b)]
                                  3       3 a

      (%i4) ode_check(eqn,ans[1]);
      (%o4)                           0

  Categories: Package contrib_ode ·

Function: gauss_a (a, b, c, x) ¶

  `gauss_a(a,b,c,x)` and `gauss_b(a,b,c,x)` are 2F1 hypergeometric functions. They represent any two independent solutions of the hypergeometric differential equation `x*(1-x) diff(y,x,2) + [c-(a+b+1)x] diff(y,x) - a*b*y = 0` (A&S 15.5.1).

  The only use of these functions is in solutions of ODEs returned by `odelin` and `contrib_ode`. The definition and use of these functions may change in future releases of Maxima.

  See also `gauss_b`, `dgauss_a` and `gauss_b`.

  Categories: Package contrib_ode ·

Function: gauss_b (a, b, c, x) ¶

  See `gauss_a`.

  Categories: Package contrib_ode ·

Function: dgauss_a (a, b, c, x) ¶

  The derivative with respect to x of `gauss_a``(a, b, c, x)`.

  Categories: Package contrib_ode ·

Function: dgauss_b (a, b, c, x) ¶

  The derivative with respect to x of `gauss_b``(a, b, c, x)`.

  Categories: Package contrib_ode ·

Function: kummer_m (a, b, x) ¶

  Kummer’s M function, as defined in Abramowitz and Stegun, Handbook of Mathematical Functions, Section 13.1.2.

  The only use of this function is in solutions of ODEs returned by `odelin` and `contrib_ode`. The definition and use of this function may change in future releases of Maxima.

  See also `kummer_u`, `dkummer_m`, and `dkummer_u`.

  Categories: Package contrib_ode ·

Function: kummer_u (a, b, x) ¶

  Kummer’s U function, as defined in Abramowitz and Stegun, Handbook of Mathematical Functions, Section 13.1.3.

  See `kummer_m`.

  Categories: Package contrib_ode ·

Function: dkummer_m (a, b, x) ¶

  The derivative with respect to x of `kummer_m``(a, b, x)`.

  Categories: Package contrib_ode ·

Function: dkummer_u (a, b, x) ¶

  The derivative with respect to x of `kummer_u``(a, b, x)`.

  Categories: Package contrib_ode ·

Function: bessel_simplify (expr) ¶

  Simplifies expressions containing Bessel functions `bessel_j`, `bessel_y`, `bessel_i`, `bessel_k`, `hankel_1`, `hankel_2`, `struve_h` and `struve_l`. Recurrence relations (DLMF §10.6(i))(A&S 9.1.27) are used to replace functions of highest order n by functions of order n-1 and n-2.

  This process is repeated until all the orders differ by less than 2.

      (%i1) load("contrib_ode")$

      (%i2) bessel_simplify(4*bessel_j(n,x^2)*(x^2-n^2/x^2)
        +x*((bessel_j(n-2,x^2)-bessel_j(n,x^2))*x
        -(bessel_j(n,x^2)-bessel_j(n+2,x^2))*x)
        -2*bessel_j(n+1,x^2)+2*bessel_j(n-1,x^2));
      (%o2)                           0

      (%i3) bessel_simplify( -2*bessel_j(1,z)*z^3 - 10*bessel_j(2,z)*z^2
       + 15*%pi*bessel_j(1,z)*struve_h(3,z)*z - 15*%pi*struve_h(1,z)
         *bessel_j(3,z)*z - 15*%pi*bessel_j(0,z)*struve_h(2,z)*z
       + 15*%pi*struve_h(0,z)*bessel_j(2,z)*z - 30*%pi*bessel_j(1,z)
         *struve_h(2,z) + 30*%pi*struve_h(1,z)*bessel_j(2,z));
      (%o3)                           0

  Categories: Package contrib_ode · Bessel functions · Special functions ·

Function: expintegral_e_simplify (expr) ¶

  Simplify expressions containing exponential integral `expintegral_e` using the recurrence (A&S 5.1.14).

  expintegral_e(n+1,z) = (1/n) * (exp(-z)-z*expintegral_e(n,z)) n = 1,2,3 ....

  Categories: Package contrib_ode · Exponential Integrals · Special functions ·

Next: Possible improvements to contrib_ode, Previous: Introduction to contrib_ode, Up: contrib_ode [Contents][Index]