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)

Now, running this function with say, conv(unit_step(t),exp(-0.5*t)
*unit_step(t)), Sage first complained that I should use explicit
variable substitution with something like h(tau) = func1(t=tau). If
it's used in a function, I do not know that the variable name is 't'.
What I am supposed to use then?

Another problem, is that my variable change for x(tau)=func2(t=(-tau
+t)) is not exactly what I want to do, but I don't know how to
implement this. I just want to change the variable sign, then add a
parameter 't' inside of it. This is how convolution works : h(t) => h(-
tau) => h(-tau+t). My shortcut h(t)=>h(-tau+t) only works with say, h
(t)=unit_step(t), but is not OK for say h(t)=unit_step(2*t). Is there
a way to insert a parameter without variable substitution?

And last but not least, what does it mean when Sage returns an
integral results such as :
integrate(e^(0.5*tau - 1.0)*unit_step(-tau + 2)*unit_step(tau), tau,-
Infinity, +Infinity)

Can I force Sage to return a numerical results of this integral ?

Many thanks in advance,
Maxim

-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org

Reply via email to