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
The variable method is set to the successful solution
method.
%c is the integration constant for first order ODEs.
%k1 is the first integration constant for second order ODEs.
%k2 is the second integration constant for second order ODEs.
gauss_a(a,b,c,x) and gauss_b(a,b,c,x) are 2F1
geometric 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) - aby = 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, strauve_h and strauve_l. Recurrence relations (given in Abramowitz and Stegun, Handbook of Mathematical Functions, Section 9.1.27) are used to replace functions of highest order n by functions of order n-1 and n-2.
This process 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]