# Revision history [back]

Double integration is working. If you would like a numeric approximation you can call the n function with your last integral as an argument. See code below (modified from above).

from sage.plot.plot3d.shapes import Box
x,y = var('x,y')

@interact
def  interplay(function= input_box(sin(x*y)),lower_x_bound= input_box(0),upper_x_bound = input_box(1),lower_y_bound=input_box(0),upper_y_bound=input_box(1),dydx = checkbox(default = False)):
if dydx==False :
prev = integral(function,x,lower_x_bound,upper_x_bound)
result = n(integral(prev,y,lower_y_bound,upper_y_bound))
q ="$\int_%s^{%s} \int_%s^%s %s \,dx\,dy = %s$" % (lower_y_bound, upper_y_bound,lower_x_bound,upper_x_bound,function,result)
else:
result = n(integral(integral(function,y,lower_y_bound,upper_y_bound),x,lower_x_bound,upper_x_bound))
q = "$\int_%s^{%s} \int_%s^%s %s \,dy\,dx = %s$" % (lower_x_bound,upper_x_bound,lower_y_bound,upper_y_bound,function,result)
html("%s" %q)


I think there was a typo in your original code. You integrate twice wrt y when dydx is True.