On Dec 22, 5:08 pm, Maxim <maxim.courno...@gmail.com> wrote:
> Hi all!
>
> I'm trying to do something which I haven't seen any examples so far :
> symbolic convolution. I know I can use lists or Piecewise defined
> functions to do a convolution, but here my interest is the symbolic
> solution.
>
> To illustrate an example, I would like to make a function that would
> do something like that :
>
> def conv(func1,func2):
>     # variable change
>     var('t')
>     h(tau)=func1(tau)
>     x(tau)=func2(-tau+t)
>     # proper convolution returns y(t)
>     y(t) = integrate(h(tau)*x(tau),tau,-infinity,+infinity)
>     return y(t)
>
<SNIP>

I do not know sage well enough, but can't one in Sage just pass the
independent variable, say "t", as an additional argument to the conv()
function and inside the conv() function, simply write the definition
of the convolution integral?

This is the convolution of your 2 given functions

                unit_step(t),   exp(-0.5*t)*unit_step(t)

So, in Mathematica, I write the following 4 lines of code:

f1[t_] := UnitStep[t]
f2[t_] := Exp[-0.5*t]*UnitStep[t]
conv[f1_, f_, t_] := Integrate[ f1[tao]* f2[t - tao],  {tao, -
Infinity, Infinity} ]

(*now do the convolution*)
conv[f1, f2, t]

Out[11]=  (2. - 2./E^(0.5*t))*UnitStep[t]

The above is y(t).

Can't the above be translated to Sage?

--Nasser


-- 
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

Reply via email to