# Random Distribution Generator NDArray API

```eval_rst
    .. currentmodule:: mxnet.ndarray.random
```

## Overview

This document lists the random distribution generator routines of the *n*-dimensional array package:

```eval_rst
.. autosummary::
    :nosignatures:

    mxnet.ndarray.random
```

The `Random Distribution Generator NDArray` API, defined in the `ndarray.random` package, provides
imperative random distribution generator operations on CPU/GPU.

In the rest of this document, we list routines provided by the `ndarray.random` package.

## Random Distribution Generator

```eval_rst
.. currentmodule:: mxnet.ndarray.random

.. autosummary::
    :nosignatures:

    exponential
    gamma
    generalized_negative_binomial
    negative_binomial
    normal
    poisson
    uniform
    multinomial
    shuffle
    mxnet.random.seed
```

## API Reference

<script type="text/javascript" src='../../../_static/js/auto_module_index.js'></script>

```eval_rst

.. automodule:: mxnet.ndarray.random
    :members:

.. automodule:: mxnet.random
    :members:

```

<script>auto_index("api-reference");</script>
