Heaviside step and impulse functions

41 views
Skip to first unread message

Ronan Paixão

unread,
Oct 14, 2008, 4:14:26 PM10/14/08
to sage-devel
So, I have seen someone talk about those some time ago, but how is
their implementation going?

Both the step function u(x) and the impulse function delta(x) are
pretty useful in Engineering, specially when talking about Laplace and
Fourier transforms, so that could help a lot those who use Sage for
the "applied math" part :)

David Joyner

unread,
Oct 14, 2008, 4:37:31 PM10/14/08
to sage-...@googlegroups.com
What is wrong with using the piecewise defined functions for the unit
step function?
You are right though, delta functions are not implemented yet. Of
course, they are not
really functions either, so how they should be implemented is an issue as well.

Georg

unread,
Oct 14, 2008, 7:03:54 PM10/14/08
to sage-devel


> You are right though, delta functions are not implemented yet. Of
> course, they are not
> really functions either, so how they should be implemented is an issue as well.

The delta functional is a linear functional on the vector space R^R
which assigns the function value at zero to each function: \delta: R^R
\rightarrow R f \mapsto f(0),
which is written thought integration of \delta*f over the real line,
in this sense it's a generalization of a 'real' square integrable
function which is uniquely characterized (up to almost everywhere) by
it's 'action' on the vector space of square integrable functions by
f:L^2 \rightarrow R g \mapsto \int f(x)*g(x) dx =: <f,g>

Actually the delta function is an element of a vector space (on the
vector space of all linear (not necessary continuous) functions from
R^R to R or L^2 to R), and it's multiplication with a 'real' function
is an element of this vector space as well, an issue could be that
this multiplication is not extendable to the whole vector space, but
is only allowed partially (maybe thats the problem),
OK, I'm beginning to understand: is it not possible in Python to
define partially operators or operators which act on different
objects?
In this case the operator '*' must be extended partially ..

I'm sure you are aware of all this things, I'm was just wondering ...,
because I thought there could at least be implemented an object (of
course not as a function of R^R), allowed to appear inside an
integral, ...

Georg




Ronan Paixão

unread,
Oct 19, 2008, 8:25:32 PM10/19/08
to sage-devel
Obviously, the intent is not just to have the function for certain
values, but to employ other powers of sage, including differentiation
and integration (not forgetting that the step function is the
integrated delta function). There are, though some other problems with
implementing those, including lack of support in the packages sage
uses (there's some support for it in maxima, through the laplace
transform). Yet, some stuff might be hard to implement, notably
plotting, which is very useful. Currently, usage of lots of step
functions is easier with numerical data, but that still isn't optimal
for some applications.

Ronan
Reply all
Reply to author
Forward
0 new messages