Next: Possible improvements to contrib_ode, Previous: Introduction to contrib_ode, Up: contrib_ode-pkg [Contents][Index]
Returns a list of solutions of the ODE eqn with independent variable x and dependent variable y.
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
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
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.
See gauss_a.
The derivative with respect to x 
of gauss_a(a, b, c, x).
The derivative with respect to x 
of gauss_b(a, b, c, 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.
Kummer’s U function, as defined in Abramowitz and Stegun, Handbook of Mathematical Functions, Section 13.1.3.
See kummer_m.
The derivative with respect to x
of kummer_m(a, b, x).
The derivative with respect to x
of kummer_u(a, b, x).
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
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 ....
Next: Possible improvements to contrib_ode, Previous: Introduction to contrib_ode, Up: contrib_ode-pkg [Contents][Index]