我最近在math.stackexchange上提出了一个关于如何计算volumes of intersecting hypercubes and hyperspheres的问题,我得到了一个非常有用的答案。
现在,我正在尝试利用sage
为最低维度生成一些分析解决方案。凭借我对圣人的天真理解,谷歌和一些试验和帮助的帮助;错误,我想出了以下解决方案:
from sage.symbolic.integration.integral import definite_integral
R = var("R")
assume(R>0)
x = var("x")
V0(R) = 1
V = [V0]
for i in range(1,4):
vlast = V[i-1]
vnew(R) = definite_integral( vlast(R=sqrt(R**2 - x**2)),x,-min(R,1),min(R,1))
V.append(vnew)
print(V)
然而,输出并不是我的预期:
[R |--> 1, R |--> 2*R, R |--> pi*R^2, R |--> 4/3*pi*R^3]
Sage非常好地计算了n维球体的体积,但它不知道结果函数将在R中分段定义。
我如何使用min
函数有什么问题吗?我如何定义(或命名)我的变量有什么问题吗?我搞砸了哪里?