# [Maxima] Fourier Series for unit step

Richard Hennessy rvh2007 at comcast.net
Sun May 11 17:05:59 CDT 2008

```"(if/then/else acts like a programming construct,
not a mathematical expression)"

I don't think there is a difference, we are just not there yet.  You can integrate a program sometimes.

Consider this case.

f(x,y):=
block
(
c[-2]:0,c[-1]:0,c[0]:1,c[1]:0,
for i: 2 thru 500 do (c[i]:(2*c[i-2]-y*3*c[i-4])/i),
p:c[0],
for i: 1 thru 500 do (p:p+c[i]*x^i),
p
)\$

expr1:diff(f(rat(x),rat(y)),y)\$

bfloat((f(rat(1), rat(2.0001))-f(rat(1), rat(2)))/.0001);
-4.54926427472924b-1

bfloat(ev(expr1, x=rat(1),y=rat(2)));
-4.548979947844751b-1

expr1:diff(f(rat(x),rat(y)),x)\$

------------Original Message------------
From: "Stavros Macrakis" <macrakis at alum.mit.edu>
To: "Ismael Garrido" <ismaelgf at adinet.com.uy>
Cc: "Maxima List" <maxima at math.utexas.edu>
Date: Sun, May-11-2008 4:38 PM
Subject: Re: [Maxima] Fourier Series for unit step

On Sun, May 11, 2008 at 11:29 AM, Ismael Garrido <ismaelgf at adinet.com.uy> wrote:
>  If I define the function as f(x):= if x>0 then 1 else 0, then
>  totalfourier doesn't know how to integrate that....

Unfortunately, none of the standard Maxima mathematical routines
(integrate, diff, etc.) can do anything useful with if/then/else
expressions, even in the simplest cases:

integrate(abs(x),x,0,1) => 1/2       <<< ok with abs when integrand >=0
integrate(if x>=0 then x else -x,x,0,1)  (equivalent) => can't do it

In fact, not even Maxima simplification works correctly with
if/then/else expressions:

expr: abs(q)\$
assume(q>0)\$
expand(expr) => q   resimplification takes assumption into account

expr: if r=0 then r else -r\$
assume(r>0)\$
expand(expr) => unsimplified (doesn't take assumption into account)
ev(expr) => r  (if/then/else acts like a programming construct,
not a mathematical expression)

This is certainly an area we want to improve in future versions.

-s

PS Don't assume from the above that Maxima is brilliant with abs,
either!  For example, it can't do integrate(abs(x),x,-1,1).
_______________________________________________
Maxima mailing list
Maxima at math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima

```