# "and zero everywhere else"

I'm trying to create a symbolic function in two variables that returns cos(x)cos(y) for -pi/2<=x<=pi/2 and -pi/2<=y<=pi/2, and zero everywhere else.

I've dug around in the piecewise documentation and I'm running up against a few limitations:

-- no infinite intervals prevents the "everywhere else" construct.

-- I don't think there's a way to express the fact that 3*pi/2 == -pi/2

-- I haven't had much luck defining a piecewise function in two variables.

Is there a way to do this, or am I doomed to a python function and if/else statements?

Thanks--

Greg

Yeah, this isn't really (currently) doable in Sage very nicely. Of course, you could just do a Python function, as you say. The Piecewise class was useful at its time (and still works well for what it was designed to do), but isn't really able to do more advanced things. I'm not sure what you mean about 3*pi/2==-pi/2; this isn't true even if you are talking about the outputs of your particular function, since your function is zero outside your "box".

What I mean by 3pi/2==-pi/2 is that I want to accommodate the periodicity of the cosine. I have rotational symmetry in my problem, and don't want to concern myself with whether the input allows negative angles, or allows angles greater than 2pi. I suppose that's a separate problem from the question I asked...

Why are you trying to create such a function? Knowing this might help us suggest something more useful than symbolic functions. And why is writing a python function "doom"?

It's only "doom" because I'd feel like I failed. I'm documenting a new algorithm, and I'm giving Sage another go as a means of doing live documentation. I've been trying to keep as much of the flow symbolic as possible because a sequence of equations is easier for the audience to follow than Python. I could, of course, simply typeset equations for documentation and implement them in Python, but executing the symbolics directly minimizes the chance that the math and the execution diverge. For this particular equation, I'm modeling an antenna pattern, and the model really only fits for the main lobe. The back lobe should be modeled as zero.