计算落在超级立方体(hypercube)里点的个数(Python代码)

给一组坐标,我们想知道有都少点落在超级立方体中。超级立方体是三维立方体的扩展: d 维:

(1)   \begin{equation*} \begin{pmatrix} x_i\\ x_{i+1} \\ ... \\ x_{d} \end{pmatrix} \end{equation*}

例如,3维的立方体坐标:

(2)   \begin{equation*} \begin{pmatrix}  x\\ y\\ z \end{pmatrix} \end{equation*}

为了把问题数学化,我们使用下面的方程计算样本数k_n

    \[ \phi(\pmb u) = \Bigg[ \begin{array}{ll} 1 ; \quad |u_j| \leq 1/2 \; ;\quad \quad j = 1, ..., d \\ 0 ; \quad otherwise \end{array} \]

扩展上面方程,得到超级立方体(长度 h_n 原点 pmb x )普遍适用的方程:

    \[ k_n = \sum\limits_{i=1}^{n} \phi \bigg( \frac{\pmb x - \pmb x_i}{h_n} \bigg) \]

    \[ \pmb u = \bigg( \frac{\pmb x - \pmb x_i}{h_n} \bigg) \]

Python实现

以三维立方体为例

Screen Shot 2015-11-30 at 3.38.45 PM

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注