Ask Your Question

Revision history [back]

Graphing max function - unexpected behavior

My minimal working example is:

(x,y) = var('x y')
def f(x,y):
    return max(abs(x),abs(y))

table([[f(x,y) for y in range(-3,4)] for x in range(-3,4)])

The output is this table:

  3   3   3   3   3   3   3
  3   2   2   2   2   2   3
  3   2   1   1   1   2   3
  3   2   1   0   1   2   3
  3   2   1   1   1   2   3
  3   2   2   2   2   2   3
  3   3   3   3   3   3   3

That looks like it ought to. But when I try

contour_plot(f(x,y),(x,-3,3),(y,-3,3))

I get something that looks a lot different. It seems I don't have enough karma to upload the image, but its looks more like the one that would be associated to this table:

table([[f(0,y) for y in range(-3,4)] for x in range(-3,4)])

  3   2   1   0   1   2   3
  3   2   1   0   1   2   3
  3   2   1   0   1   2   3
  3   2   1   0   1   2   3
  3   2   1   0   1   2   3
  3   2   1   0   1   2   3
  3   2   1   0   1   2   3

I have the issue isolated in a Sage worksheet on CoCalc. I don't have enough karma to include a link, either.