# tree_d_3d.kernels.fmm_downward.fmm_downward_numpy

*module*

The NumPy version of the ``fmm_downward`` kernel, for machines without Pyccel.

Vectorized over the children of the level; the same arguments and results as
``fmm_downward_pyccel.py``.

[View source](https://github.com/max-models/tree-d-3d/blob/devel/src/tree_d_3d/kernels/fmm_downward/fmm_downward_numpy.py#L1-L1)

## tree_d_3d.kernels.fmm_downward.fmm_downward_numpy.fmm_downward

*function*

```python
def fmm_downward(first_node: int, last_node: int, node_center: np.ndarray, node_child: np.ndarray, binomial: np.ndarray, power_re: np.ndarray, power_im: np.ndarray, local_re: np.ndarray, local_im: np.ndarray) -> None
```

Shift the local expansions of nodes ``first_node:last_node`` into their children.

[View source](https://github.com/max-models/tree-d-3d/blob/devel/src/tree_d_3d/kernels/fmm_downward/fmm_downward_numpy.py#L12-L39)
