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