Next: Possible improvements to contrib_ode, Previous: Introduction to contrib_ode, Up: contrib_ode [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 [Contents][Index]