<!DOCTYPE html >
<html>
        <head>
          <title>NDArrayRandomAPIBase - MXNet - org.apache.mxnet.NDArrayRandomAPIBase</title>
          <meta name="description" content="NDArrayRandomAPIBase - MXNet - org.apache.mxnet.NDArrayRandomAPIBase" />
          <meta name="keywords" content="NDArrayRandomAPIBase MXNet org.apache.mxnet.NDArrayRandomAPIBase" />
          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
          
      <link href="../../../lib/template.css" media="screen" type="text/css" rel="stylesheet" />
      <link href="../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css" />
      <script type="text/javascript" src="../../../lib/jquery.js" id="jquery-js"></script>
      <script type="text/javascript" src="../../../lib/jquery-ui.js"></script>
      <script type="text/javascript" src="../../../lib/template.js"></script>
      <script type="text/javascript" src="../../../lib/tools.tooltip.js"></script>
      
      <script type="text/javascript">
         if(top === self) {
            var url = '../../../index.html';
            var hash = 'org.apache.mxnet.NDArrayRandomAPIBase';
            var anchor = window.location.hash;
            var anchor_opt = '';
            if (anchor.length >= 1)
              anchor_opt = '@' + anchor.substring(1);
            window.location.href = url + '#' + hash + anchor_opt;
         }
   	  </script>
    
        </head>
        <body class="type">
      <div id="definition">
        <img src="../../../lib/class_big.png" />
        <p id="owner"><a href="../../package.html" class="extype" name="org">org</a>.<a href="../package.html" class="extype" name="org.apache">apache</a>.<a href="package.html" class="extype" name="org.apache.mxnet">mxnet</a></p>
        <h1>NDArrayRandomAPIBase</h1><h3><span class="morelinks"><div>Related Doc:
            <a href="package.html" class="extype" name="org.apache.mxnet">package mxnet</a>
          </div></span></h3><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      </div>

      <h4 id="signature" class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">class</span>
      </span>
      <span class="symbol">
        <span class="name">NDArrayRandomAPIBase</span><span class="result"> extends <span class="extype" name="scala.AnyRef">AnyRef</span></span>
      </span>
      </h4>
      
          <div id="comment" class="fullcommenttop"><div class="toggleContainer block">
          <span class="toggle">Linear Supertypes</span>
          <div class="superTypes hiddenContent"><span class="extype" name="scala.AnyRef">AnyRef</span>, <span class="extype" name="scala.Any">Any</span></div>
        </div><div class="toggleContainer block">
            <span class="toggle">Known Subclasses</span>
            <div class="subClasses hiddenContent"><a href="NDArrayRandomAPI$.html" class="extype" name="org.apache.mxnet.NDArrayRandomAPI">NDArrayRandomAPI</a></div>
          </div></div>
        

      <div id="mbrsel">
        <div id="textfilter"><span class="pre"></span><span class="input"><input id="mbrsel-input" type="text" accesskey="/" /></span><span class="post"></span></div>
        <div id="order">
              <span class="filtertype">Ordering</span>
              <ol>
                
                <li class="alpha in"><span>Alphabetic</span></li>
                <li class="inherit out"><span>By inheritance</span></li>
              </ol>
            </div>
        <div id="ancestors">
                <span class="filtertype">Inherited<br />
                </span>
                <ol id="linearization">
                  <li class="in" name="org.apache.mxnet.NDArrayRandomAPIBase"><span>NDArrayRandomAPIBase</span></li><li class="in" name="scala.AnyRef"><span>AnyRef</span></li><li class="in" name="scala.Any"><span>Any</span></li>
                </ol>
              </div><div id="ancestors">
            <span class="filtertype"></span>
            <ol>
              <li class="hideall out"><span>Hide All</span></li>
              <li class="showall in"><span>Show all</span></li>
            </ol>
            <a href="http://docs.scala-lang.org/overviews/scaladoc/usage.html#members" target="_blank">Learn more about member selection</a>
          </div>
        <div id="visbl">
            <span class="filtertype">Visibility</span>
            <ol><li class="public in"><span>Public</span></li><li class="all out"><span>All</span></li></ol>
          </div>
      </div>

      <div id="template">
        <div id="allMembers">
        <div id="constructors" class="members">
              <h3>Instance Constructors</h3>
              <ol><li name="org.apache.mxnet.NDArrayRandomAPIBase#&lt;init&gt;" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="&lt;init&gt;():org.apache.mxnet.NDArrayRandomAPIBase"></a>
      <a id="&lt;init&gt;:NDArrayRandomAPIBase"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">new</span>
      </span>
      <span class="symbol">
        <span class="name">NDArrayRandomAPIBase</span><span class="params">()</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@&lt;init&gt;():org.apache.mxnet.NDArrayRandomAPIBase" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      
    </li></ol>
            </div>

        

        <div id="values" class="values members">
              <h3>Abstract Value Members</h3>
              <ol><li name="org.apache.mxnet.NDArrayRandomAPIBase#exponential" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="exponential[T](lam:Option[T],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],out:Option[org.apache.mxnet.NDArray])(implicitevidence$35:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$36:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="exponential[T](Option[T],Option[Shape],Option[String],Option[String],Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">exponential</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="lam">lam: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.exponential.T">T</span>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="ctx">ctx: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.exponential.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.exponential.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@exponential[T](lam:Option[T],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],out:Option[org.apache.mxnet.NDArray])(implicitevidence$35:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$36:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from an exponential distribution.

Samples are distributed according to an exponential distribution parametrized by *lambda* (rate).

Example::

   exponential(lam=<span class="num">4</span>, shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">0.0097189</span> ,  <span class="num">0.08999364</span>],
                                      [ <span class="num">0.04146638</span>,  <span class="num">0.31715935</span>] ]


Defined in src/operator/random/sample_op.cc:L137</pre></div><dl class="paramcmts block"><dt class="param">lam</dt><dd class="cmt"><p>Lambda parameter (rate) of the exponential distribution.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the output.</p></dd><dt class="param">ctx</dt><dd class="cmt"><p>Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#exponential_like" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="exponential_like[T](lam:Option[T],data:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$15:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$16:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="exponential_like[T](Option[T],T,Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">exponential_like</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="lam">lam: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.exponential_like.T">T</span>] = <span class="symbol">None</span></span>, <span name="data">data: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.exponential_like.T">T</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.exponential_like.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.exponential_like.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@exponential_like[T](lam:Option[T],data:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$15:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$16:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from an exponential distribution according to the input array shape.

Samples are distributed according to an exponential distribution parametrized by *lambda* (rate).

Example::

   exponential(lam=<span class="num">4</span>, data=ones(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">0.0097189</span> ,  <span class="num">0.08999364</span>],
                                         [ <span class="num">0.04146638</span>,  <span class="num">0.31715935</span>] ]


Defined in src/operator/random/sample_op.cc:L243</pre></div><dl class="paramcmts block"><dt class="param">lam</dt><dd class="cmt"><p>Lambda parameter (rate) of the exponential distribution.</p></dd><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#gamma" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="gamma[T](alpha:Option[T],beta:Option[T],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],out:Option[org.apache.mxnet.NDArray])(implicitevidence$39:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$40:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="gamma[T](Option[T],Option[T],Option[Shape],Option[String],Option[String],Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">gamma</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="alpha">alpha: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.gamma.T">T</span>] = <span class="symbol">None</span></span>, <span name="beta">beta: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.gamma.T">T</span>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="ctx">ctx: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.gamma.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.gamma.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@gamma[T](alpha:Option[T],beta:Option[T],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],out:Option[org.apache.mxnet.NDArray])(implicitevidence$39:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$40:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a gamma distribution.

Samples are distributed according to a gamma distribution parametrized by *alpha* (shape) and *beta* (scale).

Example::

   gamma(alpha=<span class="num">9</span>, beta=<span class="num">0.5</span>, shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">7.10486984</span>,  <span class="num">3.37695289</span>],
                                            [ <span class="num">3.91697288</span>,  <span class="num">3.65933681</span>] ]


Defined in src/operator/random/sample_op.cc:L125</pre></div><dl class="paramcmts block"><dt class="param">alpha</dt><dd class="cmt"><p>Alpha parameter (shape) of the gamma distribution.</p></dd><dt class="param">beta</dt><dd class="cmt"><p>Beta parameter (scale) of the gamma distribution.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the output.</p></dd><dt class="param">ctx</dt><dd class="cmt"><p>Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#gamma_like" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="gamma_like[T](alpha:Option[T],beta:Option[T],data:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$21:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$22:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="gamma_like[T](Option[T],Option[T],T,Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">gamma_like</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="alpha">alpha: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.gamma_like.T">T</span>] = <span class="symbol">None</span></span>, <span name="beta">beta: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.gamma_like.T">T</span>] = <span class="symbol">None</span></span>, <span name="data">data: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.gamma_like.T">T</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.gamma_like.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.gamma_like.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@gamma_like[T](alpha:Option[T],beta:Option[T],data:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$21:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$22:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a gamma distribution according to the input array shape.

Samples are distributed according to a gamma distribution parametrized by *alpha* (shape) and *beta* (scale).

Example::

   gamma(alpha=<span class="num">9</span>, beta=<span class="num">0.5</span>, data=ones(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">7.10486984</span>,  <span class="num">3.37695289</span>],
                                               [ <span class="num">3.91697288</span>,  <span class="num">3.65933681</span>] ]


Defined in src/operator/random/sample_op.cc:L232</pre></div><dl class="paramcmts block"><dt class="param">alpha</dt><dd class="cmt"><p>Alpha parameter (shape) of the gamma distribution.</p></dd><dt class="param">beta</dt><dd class="cmt"><p>Beta parameter (scale) of the gamma distribution.</p></dd><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#generalized_negative_binomial" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="generalized_negative_binomial[T](mu:Option[T],alpha:Option[T],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],out:Option[org.apache.mxnet.NDArray])(implicitevidence$13:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$14:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="generalized_negative_binomial[T](Option[T],Option[T],Option[Shape],Option[String],Option[String],Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">generalized_negative_binomial</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="mu">mu: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.generalized_negative_binomial.T">T</span>] = <span class="symbol">None</span></span>, <span name="alpha">alpha: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.generalized_negative_binomial.T">T</span>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="ctx">ctx: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.generalized_negative_binomial.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.generalized_negative_binomial.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@generalized_negative_binomial[T](mu:Option[T],alpha:Option[T],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],out:Option[org.apache.mxnet.NDArray])(implicitevidence$13:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$14:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a generalized negative binomial distribution.

Samples are distributed according to a generalized negative binomial distribution parametrized by
*mu* (mean) and *alpha* (dispersion). *alpha* is defined as *<span class="num">1</span>/k* where *k* is the failure limit of the
number of unsuccessful experiments (generalized to real numbers).
Samples will always be returned as a floating point data <span class="kw">type</span>.

Example::

   generalized_negative_binomial(mu=<span class="num">2.0</span>, alpha=<span class="num">0.3</span>, shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">2.</span>,  <span class="num">1.</span>],
                                                                    [ <span class="num">6.</span>,  <span class="num">4.</span>] ]


Defined in src/operator/random/sample_op.cc:L179</pre></div><dl class="paramcmts block"><dt class="param">mu</dt><dd class="cmt"><p>Mean of the negative binomial distribution.</p></dd><dt class="param">alpha</dt><dd class="cmt"><p>Alpha (dispersion) parameter of the negative binomial distribution.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the output.</p></dd><dt class="param">ctx</dt><dd class="cmt"><p>Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#generalized_negative_binomial_like" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="generalized_negative_binomial_like[T](mu:Option[T],alpha:Option[T],data:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$7:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$8:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="generalized_negative_binomial_like[T](Option[T],Option[T],T,Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">generalized_negative_binomial_like</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="mu">mu: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.generalized_negative_binomial_like.T">T</span>] = <span class="symbol">None</span></span>, <span name="alpha">alpha: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.generalized_negative_binomial_like.T">T</span>] = <span class="symbol">None</span></span>, <span name="data">data: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.generalized_negative_binomial_like.T">T</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.generalized_negative_binomial_like.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.generalized_negative_binomial_like.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@generalized_negative_binomial_like[T](mu:Option[T],alpha:Option[T],data:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$7:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$8:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a generalized negative binomial distribution according to the
input array shape.

Samples are distributed according to a generalized negative binomial distribution parametrized by
*mu* (mean) and *alpha* (dispersion). *alpha* is defined as *<span class="num">1</span>/k* where *k* is the failure limit of the
number of unsuccessful experiments (generalized to real numbers).
Samples will always be returned as a floating point data <span class="kw">type</span>.

Example::

   generalized_negative_binomial(mu=<span class="num">2.0</span>, alpha=<span class="num">0.3</span>, data=ones(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">2.</span>,  <span class="num">1.</span>],
                                                                       [ <span class="num">6.</span>,  <span class="num">4.</span>] ]


Defined in src/operator/random/sample_op.cc:L284</pre></div><dl class="paramcmts block"><dt class="param">mu</dt><dd class="cmt"><p>Mean of the negative binomial distribution.</p></dd><dt class="param">alpha</dt><dd class="cmt"><p>Alpha (dispersion) parameter of the negative binomial distribution.</p></dd><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#multinomial" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="multinomial[T](data:T,shape:Option[org.apache.mxnet.Shape],get_prob:Option[Boolean],dtype:Option[String],out:Option[org.apache.mxnet.NDArray])(implicitevidence$33:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$34:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="multinomial[T](T,Option[Shape],Option[Boolean],Option[String],Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">multinomial</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="data">data: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.multinomial.T">T</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="get_prob">get_prob: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.multinomial.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.multinomial.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@multinomial[T](data:T,shape:Option[org.apache.mxnet.Shape],get_prob:Option[Boolean],dtype:Option[String],out:Option[org.apache.mxnet.NDArray])(implicitevidence$33:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$34:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Concurrent sampling from multiple multinomial distributions.

*data* is an *n* dimensional array whose last dimension has length *k*, where
*k* is the number of possible outcomes of each multinomial distribution. This
operator will draw *shape* samples from each distribution. If shape is empty
one sample will be drawn from each distribution.

If *get_prob* is <span class="kw">true</span>, a second array containing log likelihood of the drawn
samples will also be returned. This is usually used <span class="kw">for</span> reinforcement learning
where you can provide reward as head gradient <span class="kw">for</span> <span class="kw">this</span> array to estimate
gradient.

Note that the input distribution must be normalized, i.e. *data* must sum to
<span class="num">1</span> along its last axis.

Examples::

   probs = `[ [<span class="num">0</span>, <span class="num">0.1</span>, <span class="num">0.2</span>, <span class="num">0.3</span>, <span class="num">0.4</span>], [<span class="num">0.4</span>, <span class="num">0.3</span>, <span class="num">0.2</span>, <span class="num">0.1</span>, <span class="num">0</span>] ]

   <span class="cmt">// Draw a single sample for each distribution</span>
   sample_multinomial(probs) = [<span class="num">3</span>, <span class="num">0</span>]

   <span class="cmt">// Draw a vector containing two samples for each distribution</span>
   sample_multinomial(probs, shape=(<span class="num">2</span>)) = `[ [<span class="num">4</span>, <span class="num">2</span>],
                                           [<span class="num">0</span>, <span class="num">0</span>] ]

   <span class="cmt">// requests log likelihood</span>
   sample_multinomial(probs, get_prob=True) = [<span class="num">2</span>, <span class="num">1</span>], [<span class="num">0.2</span>, <span class="num">0.3</span>]</pre></div><dl class="paramcmts block"><dt class="param">data</dt><dd class="cmt"><p>Distribution probabilities. Must sum to one on the last axis.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape to be sampled from each random distribution.</p></dd><dt class="param">get_prob</dt><dd class="cmt"><p>Whether to also return the log probability of sampled result. This is usually used for differentiating through stochastic variables, e.g. in reinforcement learning.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#negative_binomial" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="negative_binomial[T](k:Option[T],p:Option[T],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],out:Option[org.apache.mxnet.NDArray])(implicitevidence$29:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$30:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="negative_binomial[T](Option[T],Option[T],Option[Shape],Option[String],Option[String],Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">negative_binomial</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="k">k: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.negative_binomial.T">T</span>] = <span class="symbol">None</span></span>, <span name="p">p: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.negative_binomial.T">T</span>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="ctx">ctx: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.negative_binomial.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.negative_binomial.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@negative_binomial[T](k:Option[T],p:Option[T],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],out:Option[org.apache.mxnet.NDArray])(implicitevidence$29:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$30:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a negative binomial distribution.

Samples are distributed according to a negative binomial distribution parametrized by
*k* (limit of unsuccessful experiments) and *p* (failure probability in each experiment).
Samples will always be returned as a floating point data <span class="kw">type</span>.

Example::

   negative_binomial(k=<span class="num">3</span>, p=<span class="num">0.4</span>, shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">4.</span>,  <span class="num">7.</span>],
                                                 [ <span class="num">2.</span>,  <span class="num">5.</span>] ]


Defined in src/operator/random/sample_op.cc:L164</pre></div><dl class="paramcmts block"><dt class="param">k</dt><dd class="cmt"><p>Limit of unsuccessful experiments.</p></dd><dt class="param">p</dt><dd class="cmt"><p>Failure probability in each experiment.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the output.</p></dd><dt class="param">ctx</dt><dd class="cmt"><p>Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#negative_binomial_like" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="negative_binomial_like[T](k:Option[T],p:Option[T],data:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$31:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$32:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="negative_binomial_like[T](Option[T],Option[T],T,Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">negative_binomial_like</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="k">k: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.negative_binomial_like.T">T</span>] = <span class="symbol">None</span></span>, <span name="p">p: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.negative_binomial_like.T">T</span>] = <span class="symbol">None</span></span>, <span name="data">data: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.negative_binomial_like.T">T</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.negative_binomial_like.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.negative_binomial_like.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@negative_binomial_like[T](k:Option[T],p:Option[T],data:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$31:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$32:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a negative binomial distribution according to the input array shape.

Samples are distributed according to a negative binomial distribution parametrized by
*k* (limit of unsuccessful experiments) and *p* (failure probability in each experiment).
Samples will always be returned as a floating point data <span class="kw">type</span>.

Example::

   negative_binomial(k=<span class="num">3</span>, p=<span class="num">0.4</span>, data=ones(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">4.</span>,  <span class="num">7.</span>],
                                                    [ <span class="num">2.</span>,  <span class="num">5.</span>] ]


Defined in src/operator/random/sample_op.cc:L268</pre></div><dl class="paramcmts block"><dt class="param">k</dt><dd class="cmt"><p>Limit of unsuccessful experiments.</p></dd><dt class="param">p</dt><dd class="cmt"><p>Failure probability in each experiment.</p></dd><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#normal" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="normal[T](mu:Option[T],sigma:Option[T],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],out:Option[org.apache.mxnet.NDArray])(implicitevidence$11:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$12:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="normal[T](Option[T],Option[T],Option[Shape],Option[String],Option[String],Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">normal</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="mu">mu: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.normal.T">T</span>] = <span class="symbol">None</span></span>, <span name="sigma">sigma: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.normal.T">T</span>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="ctx">ctx: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.normal.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.normal.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@normal[T](mu:Option[T],sigma:Option[T],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],out:Option[org.apache.mxnet.NDArray])(implicitevidence$11:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$12:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a normal (Gaussian) distribution.

.. note:: The existing alias ``normal`` is deprecated.

Samples are distributed according to a normal distribution parametrized by *loc* (mean) and *scale*
(standard deviation).

Example::

   normal(loc=<span class="num">0</span>, scale=<span class="num">1</span>, shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">1.89171135</span>, -<span class="num">1.16881478</span>],
                                          [-<span class="num">1.23474145</span>,  <span class="num">1.55807114</span>] ]


Defined in src/operator/random/sample_op.cc:L113</pre></div><dl class="paramcmts block"><dt class="param">mu</dt><dd class="cmt"><p>Mean of the distribution.</p></dd><dt class="param">sigma</dt><dd class="cmt"><p>Standard deviation of the distribution.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the output.</p></dd><dt class="param">ctx</dt><dd class="cmt"><p>Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#normal_like" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="normal_like[T](mu:Option[T],sigma:Option[T],data:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$43:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$44:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="normal_like[T](Option[T],Option[T],T,Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">normal_like</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="mu">mu: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.normal_like.T">T</span>] = <span class="symbol">None</span></span>, <span name="sigma">sigma: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.normal_like.T">T</span>] = <span class="symbol">None</span></span>, <span name="data">data: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.normal_like.T">T</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.normal_like.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.normal_like.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@normal_like[T](mu:Option[T],sigma:Option[T],data:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$43:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$44:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a normal (Gaussian) distribution according to the input array shape.

Samples are distributed according to a normal distribution parametrized by *loc* (mean) and *scale*
(standard deviation).

Example::

   normal(loc=<span class="num">0</span>, scale=<span class="num">1</span>, data=ones(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">1.89171135</span>, -<span class="num">1.16881478</span>],
                                             [-<span class="num">1.23474145</span>,  <span class="num">1.55807114</span>] ]


Defined in src/operator/random/sample_op.cc:L221</pre></div><dl class="paramcmts block"><dt class="param">mu</dt><dd class="cmt"><p>Mean of the distribution.</p></dd><dt class="param">sigma</dt><dd class="cmt"><p>Standard deviation of the distribution.</p></dd><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#pdf_dirichlet" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="pdf_dirichlet[T](sample:T,alpha:T,is_log:Option[Boolean],out:Option[org.apache.mxnet.NDArray])(implicitevidence$23:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$24:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="pdf_dirichlet[T](T,T,Option[Boolean],Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">pdf_dirichlet</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="sample">sample: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_dirichlet.T">T</span></span>, <span name="alpha">alpha: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_dirichlet.T">T</span></span>, <span name="is_log">is_log: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_dirichlet.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_dirichlet.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@pdf_dirichlet[T](sample:T,alpha:T,is_log:Option[Boolean],out:Option[org.apache.mxnet.NDArray])(implicitevidence$23:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$24:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the value of the PDF of *sample* of
Dirichlet distributions <span class="kw">with</span> parameter *alpha*.

The shape of *alpha* must <span class="kw">match</span> the leftmost subshape of *sample*.  That is, *sample*
can have the same shape as *alpha*, in which <span class="kw">case</span> the output contains one density per
distribution, or *sample* can be a tensor of tensors <span class="kw">with</span> that shape, in which <span class="kw">case</span>
the output is a tensor of densities such that the densities at index *i* in the output
are given by the samples at index *i* in *sample* parameterized by the value of *alpha*
at index *i*.

Examples::

    random_pdf_dirichlet(sample=`[ [<span class="num">1</span>,<span class="num">2</span>],[<span class="num">2</span>,<span class="num">3</span>],[<span class="num">3</span>,<span class="num">4</span>] ], alpha=[<span class="num">2.5</span>, <span class="num">2.5</span>]) =
        [<span class="num">38.413498</span>, <span class="num">199.60245</span>, <span class="num">564.56085</span>]

    sample = `[ `[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>], [<span class="num">10</span>, <span class="num">20</span>, <span class="num">30</span>], [<span class="num">100</span>, <span class="num">200</span>, <span class="num">300</span>] ],
              `[ [<span class="num">0.1</span>, <span class="num">0.2</span>, <span class="num">0.3</span>], [<span class="num">0.01</span>, <span class="num">0.02</span>, <span class="num">0.03</span>], [<span class="num">0.001</span>, <span class="num">0.002</span>, <span class="num">0.003</span>] ] ]

    random_pdf_dirichlet(sample=sample, alpha=[<span class="num">0.1</span>, <span class="num">0.4</span>, <span class="num">0.9</span>]) =
        `[ [<span class="num">2.3257459e-02</span>, <span class="num">5.8420084e-04</span>, <span class="num">1.4674458e-05</span>],
         [<span class="num">9.2589635e-01</span>, <span class="num">3.6860607e+01</span>, <span class="num">1.4674468e+03</span>] ]


Defined in src/operator/random/pdf_op.cc:L316</pre></div><dl class="paramcmts block"><dt class="param">sample</dt><dd class="cmt"><p>Samples from the distributions.</p></dd><dt class="param">alpha</dt><dd class="cmt"><p>Concentration parameters of the distributions.</p></dd><dt class="param">is_log</dt><dd class="cmt"><p>If set, compute the density of the log-probability instead of the probability.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#pdf_exponential" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="pdf_exponential[T](sample:T,lam:T,is_log:Option[Boolean],out:Option[org.apache.mxnet.NDArray])(implicitevidence$5:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$6:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="pdf_exponential[T](T,T,Option[Boolean],Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">pdf_exponential</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="sample">sample: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_exponential.T">T</span></span>, <span name="lam">lam: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_exponential.T">T</span></span>, <span name="is_log">is_log: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_exponential.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_exponential.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@pdf_exponential[T](sample:T,lam:T,is_log:Option[Boolean],out:Option[org.apache.mxnet.NDArray])(implicitevidence$5:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$6:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the value of the PDF of *sample* of
exponential distributions <span class="kw">with</span> parameters *lam* (rate).

The shape of *lam* must <span class="kw">match</span> the leftmost subshape of *sample*.  That is, *sample*
can have the same shape as *lam*, in which <span class="kw">case</span> the output contains one density per
distribution, or *sample* can be a tensor of tensors <span class="kw">with</span> that shape, in which <span class="kw">case</span>
the output is a tensor of densities such that the densities at index *i* in the output
are given by the samples at index *i* in *sample* parameterized by the value of *lam*
at index *i*.

Examples::

  random_pdf_exponential(sample=`[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>] ], lam=[<span class="num">1</span>]) =
      `[ [<span class="num">0.36787945</span>, <span class="num">0.13533528</span>, <span class="num">0.04978707</span>] ]

  sample = `[ [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>],
            [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>],
            [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>] ]

  random_pdf_exponential(sample=sample, lam=[<span class="num">1</span>,<span class="num">0.5</span>,<span class="num">0.25</span>]) =
      `[ [<span class="num">0.36787945</span>, <span class="num">0.13533528</span>, <span class="num">0.04978707</span>],
       [<span class="num">0.30326533</span>, <span class="num">0.18393973</span>, <span class="num">0.11156508</span>],
       [<span class="num">0.1947002</span>,  <span class="num">0.15163267</span>, <span class="num">0.11809164</span>] ]


Defined in src/operator/random/pdf_op.cc:L305</pre></div><dl class="paramcmts block"><dt class="param">sample</dt><dd class="cmt"><p>Samples from the distributions.</p></dd><dt class="param">lam</dt><dd class="cmt"><p>Lambda (rate) parameters of the distributions.</p></dd><dt class="param">is_log</dt><dd class="cmt"><p>If set, compute the density of the log-probability instead of the probability.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#pdf_gamma" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="pdf_gamma[T](sample:T,alpha:T,is_log:Option[Boolean],beta:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$9:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$10:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="pdf_gamma[T](T,T,Option[Boolean],T,Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">pdf_gamma</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="sample">sample: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_gamma.T">T</span></span>, <span name="alpha">alpha: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_gamma.T">T</span></span>, <span name="is_log">is_log: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="beta">beta: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_gamma.T">T</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_gamma.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_gamma.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@pdf_gamma[T](sample:T,alpha:T,is_log:Option[Boolean],beta:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$9:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$10:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the value of the PDF of *sample* of
gamma distributions <span class="kw">with</span> parameters *alpha* (shape) and *beta* (rate).

*alpha* and *beta* must have the same shape, which must <span class="kw">match</span> the leftmost subshape
of *sample*.  That is, *sample* can have the same shape as *alpha* and *beta*, in which
<span class="kw">case</span> the output contains one density per distribution, or *sample* can be a tensor
of tensors <span class="kw">with</span> that shape, in which <span class="kw">case</span> the output is a tensor of densities such that
the densities at index *i* in the output are given by the samples at index *i* in *sample*
parameterized by the values of *alpha* and *beta* at index *i*.

Examples::

  random_pdf_gamma(sample=`[ [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>,<span class="num">5</span>] ], alpha=[<span class="num">5</span>], beta=[<span class="num">1</span>]) =
      `[ [<span class="num">0.01532831</span>, <span class="num">0.09022352</span>, <span class="num">0.16803136</span>, <span class="num">0.19536681</span>, <span class="num">0.17546739</span>] ]

  sample = `[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>, <span class="num">4</span>, <span class="num">5</span>],
            [<span class="num">2</span>, <span class="num">3</span>, <span class="num">4</span>, <span class="num">5</span>, <span class="num">6</span>],
            [<span class="num">3</span>, <span class="num">4</span>, <span class="num">5</span>, <span class="num">6</span>, <span class="num">7</span>] ]

  random_pdf_gamma(sample=sample, alpha=[<span class="num">5</span>,<span class="num">6</span>,<span class="num">7</span>], beta=[<span class="num">1</span>,<span class="num">1</span>,<span class="num">1</span>]) =
      `[ [<span class="num">0.01532831</span>, <span class="num">0.09022352</span>, <span class="num">0.16803136</span>, <span class="num">0.19536681</span>, <span class="num">0.17546739</span>],
       [<span class="num">0.03608941</span>, <span class="num">0.10081882</span>, <span class="num">0.15629345</span>, <span class="num">0.17546739</span>, <span class="num">0.16062315</span>],
       [<span class="num">0.05040941</span>, <span class="num">0.10419563</span>, <span class="num">0.14622283</span>, <span class="num">0.16062315</span>, <span class="num">0.14900276</span>] ]


Defined in src/operator/random/pdf_op.cc:L303</pre></div><dl class="paramcmts block"><dt class="param">sample</dt><dd class="cmt"><p>Samples from the distributions.</p></dd><dt class="param">alpha</dt><dd class="cmt"><p>Alpha (shape) parameters of the distributions.</p></dd><dt class="param">is_log</dt><dd class="cmt"><p>If set, compute the density of the log-probability instead of the probability.</p></dd><dt class="param">beta</dt><dd class="cmt"><p>Beta (scale) parameters of the distributions.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#pdf_generalized_negative_binomial" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="pdf_generalized_negative_binomial[T](sample:T,mu:T,is_log:Option[Boolean],alpha:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$27:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$28:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="pdf_generalized_negative_binomial[T](T,T,Option[Boolean],T,Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">pdf_generalized_negative_binomial</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="sample">sample: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_generalized_negative_binomial.T">T</span></span>, <span name="mu">mu: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_generalized_negative_binomial.T">T</span></span>, <span name="is_log">is_log: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="alpha">alpha: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_generalized_negative_binomial.T">T</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_generalized_negative_binomial.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_generalized_negative_binomial.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@pdf_generalized_negative_binomial[T](sample:T,mu:T,is_log:Option[Boolean],alpha:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$27:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$28:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the value of the PDF of *sample* of
generalized negative binomial distributions <span class="kw">with</span> parameters *mu* (mean)
and *alpha* (dispersion).  This can be understood as a reparameterization of
the negative binomial, where *k* = *<span class="num">1</span> / alpha* and *p* = *<span class="num">1</span> / (mu \* alpha + <span class="num">1</span>)*.

*mu* and *alpha* must have the same shape, which must <span class="kw">match</span> the leftmost subshape
of *sample*.  That is, *sample* can have the same shape as *mu* and *alpha*, in which
<span class="kw">case</span> the output contains one density per distribution, or *sample* can be a tensor
of tensors <span class="kw">with</span> that shape, in which <span class="kw">case</span> the output is a tensor of densities such that
the densities at index *i* in the output are given by the samples at index *i* in *sample*
parameterized by the values of *mu* and *alpha* at index *i*.

Examples::

    random_pdf_generalized_negative_binomial(sample=`[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>, <span class="num">4</span>] ], alpha=[<span class="num">1</span>], mu=[<span class="num">1</span>]) =
        `[ [<span class="num">0.25</span>, <span class="num">0.125</span>, <span class="num">0.0625</span>, <span class="num">0.03125</span>] ]

    sample = `[ [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>],
              [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>] ]
    random_pdf_generalized_negative_binomial(sample=sample, alpha=[<span class="num">1</span>, <span class="num">0.6666</span>], mu=[<span class="num">1</span>, <span class="num">1.5</span>]) =
        `[ [<span class="num">0.25</span>,       <span class="num">0.125</span>,      <span class="num">0.0625</span>,     <span class="num">0.03125</span>   ],
         [<span class="num">0.26517063</span>, <span class="num">0.16573331</span>, <span class="num">0.09667706</span>, <span class="num">0.05437994</span>] ]


Defined in src/operator/random/pdf_op.cc:L314</pre></div><dl class="paramcmts block"><dt class="param">sample</dt><dd class="cmt"><p>Samples from the distributions.</p></dd><dt class="param">mu</dt><dd class="cmt"><p>Means of the distributions.</p></dd><dt class="param">is_log</dt><dd class="cmt"><p>If set, compute the density of the log-probability instead of the probability.</p></dd><dt class="param">alpha</dt><dd class="cmt"><p>Alpha (dispersion) parameters of the distributions.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#pdf_negative_binomial" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="pdf_negative_binomial[T](sample:T,k:T,is_log:Option[Boolean],p:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$37:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$38:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="pdf_negative_binomial[T](T,T,Option[Boolean],T,Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">pdf_negative_binomial</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="sample">sample: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_negative_binomial.T">T</span></span>, <span name="k">k: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_negative_binomial.T">T</span></span>, <span name="is_log">is_log: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="p">p: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_negative_binomial.T">T</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_negative_binomial.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_negative_binomial.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@pdf_negative_binomial[T](sample:T,k:T,is_log:Option[Boolean],p:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$37:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$38:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the value of the PDF of samples of
negative binomial distributions <span class="kw">with</span> parameters *k* (failure limit) and *p* (failure probability).

*k* and *p* must have the same shape, which must <span class="kw">match</span> the leftmost subshape
of *sample*.  That is, *sample* can have the same shape as *k* and *p*, in which
<span class="kw">case</span> the output contains one density per distribution, or *sample* can be a tensor
of tensors <span class="kw">with</span> that shape, in which <span class="kw">case</span> the output is a tensor of densities such that
the densities at index *i* in the output are given by the samples at index *i* in *sample*
parameterized by the values of *k* and *p* at index *i*.

Examples::

    random_pdf_negative_binomial(sample=`[ [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>] ], k=[<span class="num">1</span>], p=a[<span class="num">0.5</span>]) =
        `[ [<span class="num">0.25</span>, <span class="num">0.125</span>, <span class="num">0.0625</span>, <span class="num">0.03125</span>] ]

    # Note that k may be real-valued
    sample = `[ [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>],
              [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>] ]
    random_pdf_negative_binomial(sample=sample, k=[<span class="num">1</span>, <span class="num">1.5</span>], p=[<span class="num">0.5</span>, <span class="num">0.5</span>]) =
        `[ [<span class="num">0.25</span>,       <span class="num">0.125</span>,      <span class="num">0.0625</span>,     <span class="num">0.03125</span>   ],
         [<span class="num">0.26516506</span>, <span class="num">0.16572815</span>, <span class="num">0.09667476</span>, <span class="num">0.05437956</span>] ]


Defined in src/operator/random/pdf_op.cc:L310</pre></div><dl class="paramcmts block"><dt class="param">sample</dt><dd class="cmt"><p>Samples from the distributions.</p></dd><dt class="param">k</dt><dd class="cmt"><p>Limits of unsuccessful experiments.</p></dd><dt class="param">is_log</dt><dd class="cmt"><p>If set, compute the density of the log-probability instead of the probability.</p></dd><dt class="param">p</dt><dd class="cmt"><p>Failure probabilities in each experiment.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#pdf_normal" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="pdf_normal[T](sample:T,mu:T,is_log:Option[Boolean],sigma:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$45:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$46:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="pdf_normal[T](T,T,Option[Boolean],T,Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">pdf_normal</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="sample">sample: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_normal.T">T</span></span>, <span name="mu">mu: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_normal.T">T</span></span>, <span name="is_log">is_log: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="sigma">sigma: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_normal.T">T</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_normal.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_normal.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@pdf_normal[T](sample:T,mu:T,is_log:Option[Boolean],sigma:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$45:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$46:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the value of the PDF of *sample* of
normal distributions <span class="kw">with</span> parameters *mu* (mean) and *sigma* (standard deviation).

*mu* and *sigma* must have the same shape, which must <span class="kw">match</span> the leftmost subshape
of *sample*.  That is, *sample* can have the same shape as *mu* and *sigma*, in which
<span class="kw">case</span> the output contains one density per distribution, or *sample* can be a tensor
of tensors <span class="kw">with</span> that shape, in which <span class="kw">case</span> the output is a tensor of densities such that
the densities at index *i* in the output are given by the samples at index *i* in *sample*
parameterized by the values of *mu* and *sigma* at index *i*.

Examples::

    sample = `[ [-<span class="num">2</span>, -<span class="num">1</span>, <span class="num">0</span>, <span class="num">1</span>, <span class="num">2</span>] ]
    random_pdf_normal(sample=sample, mu=[<span class="num">0</span>], sigma=[<span class="num">1</span>]) =
        `[ [<span class="num">0.05399097</span>, <span class="num">0.24197073</span>, <span class="num">0.3989423</span>, <span class="num">0.24197073</span>, <span class="num">0.05399097</span>] ]

    random_pdf_normal(sample=sample*<span class="num">2</span>, mu=[<span class="num">0</span>,<span class="num">0</span>], sigma=[<span class="num">1</span>,<span class="num">2</span>]) =
        `[ [<span class="num">0.05399097</span>, <span class="num">0.24197073</span>, <span class="num">0.3989423</span>,  <span class="num">0.24197073</span>, <span class="num">0.05399097</span>],
         [<span class="num">0.12098537</span>, <span class="num">0.17603266</span>, <span class="num">0.19947115</span>, <span class="num">0.17603266</span>, <span class="num">0.12098537</span>] ]


Defined in src/operator/random/pdf_op.cc:L300</pre></div><dl class="paramcmts block"><dt class="param">sample</dt><dd class="cmt"><p>Samples from the distributions.</p></dd><dt class="param">mu</dt><dd class="cmt"><p>Means of the distributions.</p></dd><dt class="param">is_log</dt><dd class="cmt"><p>If set, compute the density of the log-probability instead of the probability.</p></dd><dt class="param">sigma</dt><dd class="cmt"><p>Standard deviations of the distributions.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#pdf_poisson" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="pdf_poisson[T](sample:T,lam:T,is_log:Option[Boolean],out:Option[org.apache.mxnet.NDArray])(implicitevidence$47:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$48:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="pdf_poisson[T](T,T,Option[Boolean],Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">pdf_poisson</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="sample">sample: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_poisson.T">T</span></span>, <span name="lam">lam: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_poisson.T">T</span></span>, <span name="is_log">is_log: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_poisson.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_poisson.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@pdf_poisson[T](sample:T,lam:T,is_log:Option[Boolean],out:Option[org.apache.mxnet.NDArray])(implicitevidence$47:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$48:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the value of the PDF of *sample* of
Poisson distributions <span class="kw">with</span> parameters *lam* (rate).

The shape of *lam* must <span class="kw">match</span> the leftmost subshape of *sample*.  That is, *sample*
can have the same shape as *lam*, in which <span class="kw">case</span> the output contains one density per
distribution, or *sample* can be a tensor of tensors <span class="kw">with</span> that shape, in which <span class="kw">case</span>
the output is a tensor of densities such that the densities at index *i* in the output
are given by the samples at index *i* in *sample* parameterized by the value of *lam*
at index *i*.

Examples::

    random_pdf_poisson(sample=`[ [<span class="num">0</span>,<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>] ], lam=[<span class="num">1</span>]) =
        `[ [<span class="num">0.36787945</span>, <span class="num">0.36787945</span>, <span class="num">0.18393973</span>, <span class="num">0.06131324</span>] ]

    sample = `[ [<span class="num">0</span>,<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>],
              [<span class="num">0</span>,<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>],
              [<span class="num">0</span>,<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>] ]

    random_pdf_poisson(sample=sample, lam=[<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>]) =
        `[ [<span class="num">0.36787945</span>, <span class="num">0.36787945</span>, <span class="num">0.18393973</span>, <span class="num">0.06131324</span>],
         [<span class="num">0.13533528</span>, <span class="num">0.27067056</span>, <span class="num">0.27067056</span>, <span class="num">0.18044704</span>],
         [<span class="num">0.04978707</span>, <span class="num">0.14936121</span>, <span class="num">0.22404182</span>, <span class="num">0.22404182</span>] ]


Defined in src/operator/random/pdf_op.cc:L307</pre></div><dl class="paramcmts block"><dt class="param">sample</dt><dd class="cmt"><p>Samples from the distributions.</p></dd><dt class="param">lam</dt><dd class="cmt"><p>Lambda (rate) parameters of the distributions.</p></dd><dt class="param">is_log</dt><dd class="cmt"><p>If set, compute the density of the log-probability instead of the probability.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#pdf_uniform" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="pdf_uniform[T](sample:T,low:T,is_log:Option[Boolean],high:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$3:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$4:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="pdf_uniform[T](T,T,Option[Boolean],T,Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">pdf_uniform</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="sample">sample: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_uniform.T">T</span></span>, <span name="low">low: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_uniform.T">T</span></span>, <span name="is_log">is_log: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Boolean">Boolean</span>] = <span class="symbol">None</span></span>, <span name="high">high: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_uniform.T">T</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_uniform.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.pdf_uniform.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@pdf_uniform[T](sample:T,low:T,is_log:Option[Boolean],high:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$3:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$4:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Computes the value of the PDF of *sample* of
uniform distributions on the intervals given by *[low,high)*.

*low* and *high* must have the same shape, which must <span class="kw">match</span> the leftmost subshape
of *sample*.  That is, *sample* can have the same shape as *low* and *high*, in which
<span class="kw">case</span> the output contains one density per distribution, or *sample* can be a tensor
of tensors <span class="kw">with</span> that shape, in which <span class="kw">case</span> the output is a tensor of densities such that
the densities at index *i* in the output are given by the samples at index *i* in *sample*
parameterized by the values of *low* and *high* at index *i*.

Examples::

    random_pdf_uniform(sample=`[ [<span class="num">1</span>,<span class="num">2</span>,<span class="num">3</span>,<span class="num">4</span>] ], low=[<span class="num">0</span>], high=[<span class="num">10</span>]) = [<span class="num">0.1</span>, <span class="num">0.1</span>, <span class="num">0.1</span>, <span class="num">0.1</span>]

    sample = `[ `[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>],
               [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>] ],
              `[ [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>],
               [<span class="num">1</span>, <span class="num">2</span>, <span class="num">3</span>] ] ]
    low  = `[ [<span class="num">0</span>, <span class="num">0</span>],
            [<span class="num">0</span>, <span class="num">0</span>] ]
    high = `[ [ <span class="num">5</span>, <span class="num">10</span>],
            [<span class="num">15</span>, <span class="num">20</span>] ]
    random_pdf_uniform(sample=sample, low=low, high=high) =
        `[ `[ [<span class="num">0.2</span>,        <span class="num">0.2</span>,        <span class="num">0.2</span>    ],
          [<span class="num">0.1</span>,        <span class="num">0.1</span>,        <span class="num">0.1</span>    ] ],
         `[ [<span class="num">0.06667</span>,    <span class="num">0.06667</span>,    <span class="num">0.06667</span>],
          [<span class="num">0.05</span>,       <span class="num">0.05</span>,       <span class="num">0.05</span>   ] ] ]



Defined in src/operator/random/pdf_op.cc:L298</pre></div><dl class="paramcmts block"><dt class="param">sample</dt><dd class="cmt"><p>Samples from the distributions.</p></dd><dt class="param">low</dt><dd class="cmt"><p>Lower bounds of the distributions.</p></dd><dt class="param">is_log</dt><dd class="cmt"><p>If set, compute the density of the log-probability instead of the probability.</p></dd><dt class="param">high</dt><dd class="cmt"><p>Upper bounds of the distributions.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#poisson" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="poisson[T](lam:Option[T],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],out:Option[org.apache.mxnet.NDArray])(implicitevidence$17:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$18:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="poisson[T](Option[T],Option[Shape],Option[String],Option[String],Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">poisson</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="lam">lam: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.poisson.T">T</span>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="ctx">ctx: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.poisson.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.poisson.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@poisson[T](lam:Option[T],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],out:Option[org.apache.mxnet.NDArray])(implicitevidence$17:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$18:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a Poisson distribution.

Samples are distributed according to a Poisson distribution parametrized by *lambda* (rate).
Samples will always be returned as a floating point data <span class="kw">type</span>.

Example::

   poisson(lam=<span class="num">4</span>, shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">5.</span>,  <span class="num">2.</span>],
                                  [ <span class="num">4.</span>,  <span class="num">6.</span>] ]


Defined in src/operator/random/sample_op.cc:L150</pre></div><dl class="paramcmts block"><dt class="param">lam</dt><dd class="cmt"><p>Lambda parameter (rate) of the Poisson distribution.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the output.</p></dd><dt class="param">ctx</dt><dd class="cmt"><p>Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#poisson_like" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="poisson_like[T](lam:Option[T],data:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$25:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$26:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="poisson_like[T](Option[T],T,Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">poisson_like</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="lam">lam: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.poisson_like.T">T</span>] = <span class="symbol">None</span></span>, <span name="data">data: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.poisson_like.T">T</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.poisson_like.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.poisson_like.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@poisson_like[T](lam:Option[T],data:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$25:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$26:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a Poisson distribution according to the input array shape.

Samples are distributed according to a Poisson distribution parametrized by *lambda* (rate).
Samples will always be returned as a floating point data <span class="kw">type</span>.

Example::

   poisson(lam=<span class="num">4</span>, data=ones(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">5.</span>,  <span class="num">2.</span>],
                                     [ <span class="num">4.</span>,  <span class="num">6.</span>] ]


Defined in src/operator/random/sample_op.cc:L255</pre></div><dl class="paramcmts block"><dt class="param">lam</dt><dd class="cmt"><p>Lambda parameter (rate) of the Poisson distribution.</p></dd><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#randint" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="randint[T](low:Long,high:Long,shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],out:Option[org.apache.mxnet.NDArray])(implicitevidence$41:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$42:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="randint[T](Long,Long,Option[Shape],Option[String],Option[String],Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">randint</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="low">low: <span class="extype" name="scala.Long">Long</span></span>, <span name="high">high: <span class="extype" name="scala.Long">Long</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="ctx">ctx: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.randint.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.randint.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@randint[T](low:Long,high:Long,shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],out:Option[org.apache.mxnet.NDArray])(implicitevidence$41:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$42:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a discrete uniform distribution.

Samples are uniformly distributed over the half-open interval *[low, high)*
(includes *low*, but excludes *high*).

Example::

   randint(low=<span class="num">0</span>, high=<span class="num">5</span>, shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">0</span>,  <span class="num">2</span>],
                                          [ <span class="num">3</span>,  <span class="num">1</span>] ]



Defined in src/operator/random/sample_op.cc:L194</pre></div><dl class="paramcmts block"><dt class="param">low</dt><dd class="cmt"><p>Lower bound of the distribution.</p></dd><dt class="param">high</dt><dd class="cmt"><p>Upper bound of the distribution.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the output.</p></dd><dt class="param">ctx</dt><dd class="cmt"><p>Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to int32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#uniform" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="uniform[T](low:Option[T],high:Option[T],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],out:Option[org.apache.mxnet.NDArray])(implicitevidence$19:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$20:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="uniform[T](Option[T],Option[T],Option[Shape],Option[String],Option[String],Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">uniform</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="low">low: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.uniform.T">T</span>] = <span class="symbol">None</span></span>, <span name="high">high: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.uniform.T">T</span>] = <span class="symbol">None</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="ctx">ctx: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="dtype">dtype: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="scala.Predef.String">String</span>] = <span class="symbol">None</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.uniform.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.uniform.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@uniform[T](low:Option[T],high:Option[T],shape:Option[org.apache.mxnet.Shape],ctx:Option[String],dtype:Option[String],out:Option[org.apache.mxnet.NDArray])(implicitevidence$19:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$20:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a uniform distribution.

.. note:: The existing alias ``uniform`` is deprecated.

Samples are uniformly distributed over the half-open interval *[low, high)*
(includes *low*, but excludes *high*).

Example::

   uniform(low=<span class="num">0</span>, high=<span class="num">1</span>, shape=(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">0.60276335</span>,  <span class="num">0.85794562</span>],
                                          [ <span class="num">0.54488319</span>,  <span class="num">0.84725171</span>] ]



Defined in src/operator/random/sample_op.cc:L96</pre></div><dl class="paramcmts block"><dt class="param">low</dt><dd class="cmt"><p>Lower bound of the distribution.</p></dd><dt class="param">high</dt><dd class="cmt"><p>Upper bound of the distribution.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>Shape of the output.</p></dd><dt class="param">ctx</dt><dd class="cmt"><p>Context of output, in format [cpu|gpu|cpu_pinned](n). Only used for imperative calls.</p></dd><dt class="param">dtype</dt><dd class="cmt"><p>DType of the output in case this can't be inferred. Defaults to float32 if not defined (dtype=None).</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#uniform_like" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="uniform_like[T](low:Option[T],high:Option[T],data:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$49:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$50:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="uniform_like[T](Option[T],Option[T],T,Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">uniform_like</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="low">low: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.uniform_like.T">T</span>] = <span class="symbol">None</span></span>, <span name="high">high: <span class="extype" name="scala.Option">Option</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.uniform_like.T">T</span>] = <span class="symbol">None</span></span>, <span name="data">data: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.uniform_like.T">T</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.uniform_like.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.uniform_like.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@uniform_like[T](low:Option[T],high:Option[T],data:T,out:Option[org.apache.mxnet.NDArray])(implicitevidence$49:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$50:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from a uniform distribution according to the input array shape.

Samples are uniformly distributed over the half-open interval *[low, high)*
(includes *low*, but excludes *high*).

Example::

   uniform(low=<span class="num">0</span>, high=<span class="num">1</span>, data=ones(<span class="num">2</span>,<span class="num">2</span>)) = `[ [ <span class="num">0.60276335</span>,  <span class="num">0.85794562</span>],
                                             [ <span class="num">0.54488319</span>,  <span class="num">0.84725171</span>] ]



Defined in src/operator/random/sample_op.cc:L209</pre></div><dl class="paramcmts block"><dt class="param">low</dt><dd class="cmt"><p>Lower bound of the distribution.</p></dd><dt class="param">high</dt><dd class="cmt"><p>Upper bound of the distribution.</p></dd><dt class="param">data</dt><dd class="cmt"><p>The input</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li name="org.apache.mxnet.NDArrayRandomAPIBase#unique_zipfian" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="unique_zipfian[T](range_max:T,shape:Option[org.apache.mxnet.Shape],out:Option[org.apache.mxnet.NDArray])(implicitevidence$1:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$2:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn"></a>
      <a id="unique_zipfian[T](T,Option[Shape],Option[NDArray])(NDArrayOrScalar[T],ClassTag[T]):NDArrayFuncReturn"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">abstract </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">unique_zipfian</span><span class="tparams">[<span name="T">T</span>]</span><span class="params">(<span name="range_max">range_max: <span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.unique_zipfian.T">T</span></span>, <span name="shape">shape: <span class="extype" name="scala.Option">Option</span>[<a href="Shape.html" class="extype" name="org.apache.mxnet.Shape">Shape</a>] = <span class="symbol">None</span></span>, <span name="out">out: <span class="extype" name="scala.Option">Option</span>[<a href="NDArray.html" class="extype" name="org.apache.mxnet.NDArray">NDArray</a>] = <span class="symbol">None</span></span>)</span><span class="params">(<span class="implicit">implicit </span><span name="arg0">arg0: <a href="NDArrayOrScalar.html" class="extype" name="org.apache.mxnet.NDArrayOrScalar">NDArrayOrScalar</a>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.unique_zipfian.T">T</span>]</span>, <span name="arg1">arg1: <span class="extype" name="scala.reflect.ClassTag">ClassTag</span>[<span class="extype" name="org.apache.mxnet.NDArrayRandomAPIBase.unique_zipfian.T">T</span>]</span>)</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArrayFuncReturn">NDArrayFuncReturn</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@unique_zipfian[T](range_max:T,shape:Option[org.apache.mxnet.Shape],out:Option[org.apache.mxnet.NDArray])(implicitevidence$1:org.apache.mxnet.NDArrayOrScalar[T],implicitevidence$2:scala.reflect.ClassTag[T]):org.apache.mxnet.NDArrayFuncReturn" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"><p></p><pre>Draw random samples from an an approximately log-uniform
or Zipfian distribution without replacement.

This operation takes a <span class="num">2</span>-D shape `(batch_size, num_sampled)`,
and randomly generates *num_sampled* samples from the range of integers [<span class="num">0</span>, range_max)
<span class="kw">for</span> each instance in the batch.

The elements in each instance are drawn without replacement from the base distribution.
The base distribution <span class="kw">for</span> <span class="kw">this</span> operator is an approximately log-uniform or Zipfian distribution:

  P(<span class="kw">class</span>) = (log(<span class="kw">class</span> + <span class="num">2</span>) - log(<span class="kw">class</span> + <span class="num">1</span>)) / log(range_max + <span class="num">1</span>)

Additionaly, it also returns the number of trials used to obtain `num_sampled` samples <span class="kw">for</span>
each instance in the batch.

Example::

   samples, trials = _sample_unique_zipfian(<span class="num">750000</span>, shape=(<span class="num">4</span>, <span class="num">8192</span>))
   unique(samples[<span class="num">0</span>]) = <span class="num">8192</span>
   unique(samples[<span class="num">3</span>]) = <span class="num">8192</span>
   trials[<span class="num">0</span>] = <span class="num">16435</span>



Defined in src/operator/random/unique_sample_op.cc:L66</pre></div><dl class="paramcmts block"><dt class="param">range_max</dt><dd class="cmt"><p>The number of possible classes.</p></dd><dt class="param">shape</dt><dd class="cmt"><p>2-D shape of the output, where shape[0] is the batch size, and shape[1] is the number of candidates to sample for each batch.</p></dd><dt>returns</dt><dd class="cmt"><p>org.apache.mxnet.NDArrayFuncReturn
</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
                <span class="name">@<a href="annotation/Experimental.html" class="extype" name="org.apache.mxnet.annotation.Experimental">Experimental</a></span><span class="args">()</span>
              
        </dd></dl></div>
    </li></ol>
            </div>

        <div id="values" class="values members">
              <h3>Concrete Value Members</h3>
              <ol><li name="scala.AnyRef#!=" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="!=(x$1:Any):Boolean"></a>
      <a id="!=(Any):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span title="gt4s: $bang$eq" class="name">!=</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@!=(x$1:Any):Boolean" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.AnyRef###" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="##():Int"></a>
      <a id="##():Int"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span title="gt4s: $hash$hash" class="name">##</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Int">Int</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@##():Int" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.AnyRef#==" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="==(x$1:Any):Boolean"></a>
      <a id="==(Any):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span title="gt4s: $eq$eq" class="name">==</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@==(x$1:Any):Boolean" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.Any#asInstanceOf" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="asInstanceOf[T0]:T0"></a>
      <a id="asInstanceOf[T0]:T0"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">asInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span class="extype" name="scala.Any.asInstanceOf.T0">T0</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@asInstanceOf[T0]:T0" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
    </li><li name="scala.AnyRef#clone" visbl="prt" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="clone():Object"></a>
      <a id="clone():AnyRef"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">clone</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.AnyRef">AnyRef</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@clone():Object" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<a href="../../../java$lang.html" class="extype" name="java.lang">java.lang</a>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.CloneNotSupportedException]">...</span>
    </span>)</span>
              
        </dd></dl></div>
    </li><li name="scala.AnyRef#eq" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="eq(x$1:AnyRef):Boolean"></a>
      <a id="eq(AnyRef):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">eq</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.AnyRef">AnyRef</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@eq(x$1:AnyRef):Boolean" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li name="scala.AnyRef#equals" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="equals(x$1:Any):Boolean"></a>
      <a id="equals(Any):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">equals</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@equals(x$1:Any):Boolean" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.AnyRef#finalize" visbl="prt" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="finalize():Unit"></a>
      <a id="finalize():Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">finalize</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@finalize():Unit" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<a href="../../../java$lang.html" class="extype" name="java.lang">java.lang</a>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="symbol">classOf[java.lang.Throwable]</span>
    </span>)</span>
              
        </dd></dl></div>
    </li><li name="scala.AnyRef#getClass" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="getClass():Class[_]"></a>
      <a id="getClass():Class[_]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getClass</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.Class">Class</span>[_]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@getClass():Class[_]" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.AnyRef#hashCode" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="hashCode():Int"></a>
      <a id="hashCode():Int"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">hashCode</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Int">Int</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@hashCode():Int" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.Any#isInstanceOf" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="isInstanceOf[T0]:Boolean"></a>
      <a id="isInstanceOf[T0]:Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">isInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@isInstanceOf[T0]:Boolean" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
    </li><li name="scala.AnyRef#ne" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="ne(x$1:AnyRef):Boolean"></a>
      <a id="ne(AnyRef):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">ne</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.AnyRef">AnyRef</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@ne(x$1:AnyRef):Boolean" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li name="scala.AnyRef#notify" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="notify():Unit"></a>
      <a id="notify():Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">notify</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@notify():Unit" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li name="scala.AnyRef#notifyAll" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="notifyAll():Unit"></a>
      <a id="notifyAll():Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">notifyAll</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@notifyAll():Unit" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li name="scala.AnyRef#synchronized" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="synchronized[T0](x$1:=&gt;T0):T0"></a>
      <a id="synchronized[T0](⇒T0):T0"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">synchronized</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="params">(<span name="arg0">arg0: ⇒ <span class="extype" name="java.lang.AnyRef.synchronized.T0">T0</span></span>)</span><span class="result">: <span class="extype" name="java.lang.AnyRef.synchronized.T0">T0</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@synchronized[T0](x$1:=&gt;T0):T0" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li name="scala.AnyRef#toString" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="toString():String"></a>
      <a id="toString():String"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">toString</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.String">String</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@toString():String" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.AnyRef#wait" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="wait():Unit"></a>
      <a id="wait():Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">wait</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@wait():Unit" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
    </span>)</span>
              
        </dd></dl></div>
    </li><li name="scala.AnyRef#wait" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="wait(x$1:Long,x$2:Int):Unit"></a>
      <a id="wait(Long,Int):Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Long">Long</span></span>, <span name="arg1">arg1: <span class="extype" name="scala.Int">Int</span></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@wait(x$1:Long,x$2:Int):Unit" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
    </span>)</span>
              
        </dd></dl></div>
    </li><li name="scala.AnyRef#wait" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="wait(x$1:Long):Unit"></a>
      <a id="wait(Long):Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Long">Long</span></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../index.html#org.apache.mxnet.NDArrayRandomAPIBase@wait(x$1:Long):Unit" title="Permalink" target="_top">
        <img src="../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
    </span>)</span>
              
        </dd></dl></div>
    </li></ol>
            </div>

        

        
        </div>

        <div id="inheritedMembers">
        <div class="parent" name="scala.AnyRef">
              <h3>Inherited from <span class="extype" name="scala.AnyRef">AnyRef</span></h3>
            </div><div class="parent" name="scala.Any">
              <h3>Inherited from <span class="extype" name="scala.Any">Any</span></h3>
            </div>
        
        </div>

        <div id="groupedMembers">
        <div class="group" name="Ungrouped">
              <h3>Ungrouped</h3>
              
            </div>
        </div>

      </div>

      <div id="tooltip"></div>

      <div id="footer">  </div>


    </body>
      </html>