Procedures for integration in: 1) C(x) intRat := proc(f,x) ... 2) C(x)[ln(..)] intPolLog := proc(f,x,theta) where theta=ln(..) intPolLog calls intRat for integration in C(x), or when intRat is not available then it uses int. 3) C(x,ln(..)) intRatLog := proc(f,x,theta). Uses intPolLog/intRat or uses int when those are not available. 4) C(x)[exp(..),1/exp(..)] intLaurentPolExp:=proc(f,x,theta) where theta=exp(..) Uses ratsols from DEtools package. 5) C(x,exp(..)) intRatExp:=proc(f,x,theta). Uses intLaurentPolExp. 6) C(x,ln(x), ln(ln(x)+x^2) intNestedLog(f,x,theta1,theta2) 7) Special functions. Write something to find a minimal operator, then apply your integrate_sols, and if you find an r, then compute an antiderivative. 8) Write a ratsols for the homogeneous case, L(y)=0. 9) Write a ratsols for the inhomogeneous case, L(y)=h by noting that (D-h'/h)(h)=0 therefore if M=(D-h'/h)*L then M(y)=0, so the ratsols of L(y)=h form a *subset* of the ratsols of M(y)=0. Compute the ratsols of the homogeneous equation with (8), or if an implementation of (8) is not available then use ratsols. 10) Write my_mult, myREM, myGCRD for operators. 11) Write myLCLM.