Ask Your Question

lc's profile - activity

2016-10-09 06:55:31 -0500 received badge  Famous Question (source)
2015-07-10 16:18:10 -0500 received badge  Notable Question (source)
2014-06-09 04:02:29 -0500 received badge  Popular Question (source)
2013-11-07 13:34:00 -0500 received badge  Student (source)
2013-09-16 03:00:37 -0500 answered a question Defining a periodic function.

Thank-you for the quick answer.

frac() gives a function which is periodic on positive reals. I just adapted your solution to get it periodic on \RR.

f = lambda x: 1 if (x - RR(x).floor()) < 1/2 else 0

I would have liked to be able to define a symbolic function though. Is it doable?

I was also trying to get a function whose plot is correct (without asking it to be pointwise) as it is the case for Piecewise().

Below are some of the things (not chronologically ordred though) I had tried (just for completness as I guess they are just full of beginer's classical mistakes).


which does not evaluate


returns ValueError: cannot convert float NaN to integer.


returns ValueError: Value not defined outside of domain.


also returns ValueError: Value not defined outside of domain.

I also tried to redefine unit_step:

def echelon_unite(x):
    if x<0:
    return hres

problem integral(echelon_unite(x),x,-10,3) returns 13

numerical integral returns a coherent result.

Other tentative with incoherent result (still with integrate and not numerical_integral)

  def Periodisation_int(f,a,b):
        x = var('x')
        h0(x) = (x-b)-(b-a)*floor((x-b)/(b-a))
        hres = compose(f,h0)
        return hres

sage: g=Periodisation_int(sin,0,1)
sage: integrate(g(x),x,0,2)
-cos(1) + 2
sage: integrate(g(x),x,0,1)
-cos(1) + 1
sage: integrate(g(x),x,1,2)
-1/2*cos(1) + 1

My guess is I was using integrate on inappropriate objects. I would still like to know how to define corresponding symbolic function (if it is possible).

Thanks again,

best regards.

2013-09-14 23:57:16 -0500 asked a question Defining a periodic function.


I am a new sage user. I'd like to define simple periodic maps over \R which plot and integrate correctly (eg. a square signal (which of course is discontinuous but which I would still like to be able to plot in a way that makes it clear that the function is not multivalued at discontinuity points)). I tried different approaches none of which gave satisfactory results.

Any hint on how to do that nicely (or what would be the obstacles)?

Thank you