---
title: "ClikaRT::ops::normal"
sidebar_label: "normal"
description: "Normal draws with the given mean and standard deviation. \\[ x \\sim \\mathcal{N}(\\mu, \\sigma^2) \\] mean and stddev are scalars or tensors broadcast over shape."
---

<!-- Generated by tools/doxygen2mdx from Doxygen XML. Do not edit. -->

<span class="api-kind api-kind--function">function</span>

## normal() {#normal}

<div class="api-signature">

[`Tensor`](../Tensor.md) **`normal`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ScalarOrTensor`](../ScalarOrTensor.md) `mean`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ScalarOrTensor`](../ScalarOrTensor.md) `stddev`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`ClikaRT::Span`](../Span.md)`<const` [`ScalarOrTensor`](../ScalarOrTensor.md)`>` `shape`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`StreamOrDevice`](../StreamOrDevice.md) `device` `=` `{}`<br />
)

</div>

Normal draws with the given mean and standard deviation.

$$
x \sim \mathcal{N}(\mu, \sigma^2)
$$

[`mean`](./mean.md#mean) and `stddev` are scalars or tensors broadcast over [`shape`](./shape.md#shape).

**Parameters**

- `mean`: the distribution mean (scalar or broadcastable tensor).
- `stddev`: the standard deviation (scalar or broadcastable tensor); must be positive.
- `shape`: the output shape.
- `device`: stream or device; default = the default device.

**Returns:** a [`shape`](./shape.md#shape)-shaped tensor of draws.

**Throws**

- `ClikaRT::Error`: (`INVALID_ARGUMENT`) on a non-positive `stddev` or a non-broadcastable operand.

<div class="api-declared">

Declared in `ClikaRT/compute/ops.h`, line 4166

</div>
