Thanks kcrisman!!! Maybe the choice of the function sin(x)/x was not a good one...i would to extend the derivation for generally integral function (F(x)=int_a^x g(t)dt) where does't exist a primitive of g. I try with some function and my procedure seems to work. Thanks!
On 27 Gen, 14:41, kcrisman <kcris...@gmail.com> wrote: > On Jan 27, 7:51 am, Andrea Gobbi <andreamat...@gmail.com> wrote: > > > Hi! > > Maybe I resolve it...: > > > def deriv(self, *args,**kwds): print args, kwds; return w(x) > > f(x)=-x*x*x+1 > > w(x)=sin(x)/x > > tc=3 > > def ef(self,x,parent=None): > > return numerical_integral(w,tc,x)[0] > > g=function('g',nargs=1,evalf_func=ef,derivative_func=deriv) > > Believe it or not, it wouldn't be too much harder to implement the > sine integral Si(x) for Sage in general - as long as we had a reliable > evaluation function in Pari, Scipy, mpmath, or somewhere. mpmath at > least has > it:http://mpmath.googlecode.com/svn/trunk/doc/build/functions/expintegra... > > I can't believe we don't have this already. Am I missing something - > can someone else confirm this (though search_src and a Google search > revealed nothing, and none of the usual suspects in sage/functions > have it)? > > - kcrisman> In this way i can correctly compute for example the derivative of > > f(integral(w)) as: > > (diff(f(g(x)),x,1) > > And the value assumed for example in 4 > > (diff(f(g(x)),x,1)(4).n()) > > > and this works also for n-th-derivative. > > > I apologize if you waste time :-) > > Thanks! > > Andrea Gobbi > > > ---------- Forwarded message ---------- > > From: Andrea Gobbi <andreamat...@gmail.com> > > Date: 2011/1/26 > > Subject: Integral functions > > To: sage-support <sage-support@googlegroups.com> > > > Hi! > > I have a question...I'm working with integral functions: > > > var('t,x') > > f(t)=t^2 > > F(x)=integral(f,t,0,x) > > > and obviously: > > > F(x).derivative() give x^2 as result. > > > Now the question is: can i have the same result if f doesn't admit a > > primitive? I think that when sage "sees" integral(f,t,0,x), tries to > > compute a primitive G and then assigns to F the difference between > > G(x) and G(0). In this way when i try to calculate the derivative of > > F, the result is f. > > For example: > > > var('t,x') > > f(t)=t^2 > > F(x)=integral(sin(t)/t,t,1,x,assume(x>1)) > > > I look at the reference manual and I find a section in which we can > > force a funcion to have a rule for the derivation (pag. 252) but I > > don't understand how to do this. Sorry for my awful english! > > Thank you! > > Best regards! > > Andrea Gobbi > > > -- > > Andrea Gobbi -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org