README.md (3949B)
1 <!-- 2 3 @license Apache-2.0 4 5 Copyright (c) 2018 The Stdlib Authors. 6 7 Licensed under the Apache License, Version 2.0 (the "License"); 8 you may not use this file except in compliance with the License. 9 You may obtain a copy of the License at 10 11 http://www.apache.org/licenses/LICENSE-2.0 12 13 Unless required by applicable law or agreed to in writing, software 14 distributed under the License is distributed on an "AS IS" BASIS, 15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 See the License for the specific language governing permissions and 17 limitations under the License. 18 19 --> 20 21 # Entropy 22 23 > [Uniform][uniform-distribution] distribution [differential entropy][entropy]. 24 25 <!-- Section to include introductory text. Make sure to keep an empty line after the intro `section` element and another before the `/section` close. --> 26 27 <section class="intro"> 28 29 The [differential entropy][entropy] (in [nats][nats]) for a [uniform][uniform-distribution] random variable is 30 31 <!-- <equation class="equation" label="eq:uniform_entropy" align="center" raw="h\left( X \right) = \ln(b-a)" alt="Differential entropy for a uniform distribution."> --> 32 33 <div class="equation" align="center" data-raw-text="h\left( X \right) = \ln(b-a)" data-equation="eq:uniform_entropy"> 34 <img src="https://cdn.jsdelivr.net/gh/stdlib-js/stdlib@51534079fef45e990850102147e8945fb023d1d0/lib/node_modules/@stdlib/stats/base/dists/uniform/entropy/docs/img/equation_uniform_entropy.svg" alt="Differential entropy for a uniform distribution."> 35 <br> 36 </div> 37 38 <!-- </equation> --> 39 40 where `a` is the minimum support and `b` is the maximum support. The parameters must satisfy `a < b`. 41 42 </section> 43 44 <!-- /.intro --> 45 46 <!-- Package usage documentation. --> 47 48 <section class="usage"> 49 50 ## Usage 51 52 ```javascript 53 var entropy = require( '@stdlib/stats/base/dists/uniform/entropy' ); 54 ``` 55 56 #### entropy( a, b ) 57 58 Returns the [differential entropy][entropy] of a [uniform][uniform-distribution] distribution with minimum support `a` and maximum support `b` (in [nats][nats]). 59 60 ```javascript 61 var v = entropy( 0.0, 1.0 ); 62 // returns 0.0 63 64 v = entropy( 4.0, 12.0 ); 65 // returns ~2.079 66 67 v = entropy( 2.0, 8.0 ); 68 // returns ~1.792 69 ``` 70 71 If provided `NaN` as any argument, the function returns `NaN`. 72 73 ```javascript 74 var v = entropy( NaN, 2.0 ); 75 // returns NaN 76 77 v = entropy( 2.0, NaN ); 78 // returns NaN 79 ``` 80 81 If provided `a >= b`, the function returns `NaN`. 82 83 ```javascript 84 var y = entropy( 3.0, 2.0 ); 85 // returns NaN 86 87 y = entropy( 3.0, 3.0 ); 88 // returns NaN 89 ``` 90 91 </section> 92 93 <!-- /.usage --> 94 95 <!-- Package usage notes. Make sure to keep an empty line after the `section` element and another before the `/section` close. --> 96 97 <section class="notes"> 98 99 </section> 100 101 <!-- /.notes --> 102 103 <!-- Package usage examples. --> 104 105 <section class="examples"> 106 107 ## Examples 108 109 <!-- eslint no-undef: "error" --> 110 111 ```javascript 112 var randu = require( '@stdlib/random/base/randu' ); 113 var entropy = require( '@stdlib/stats/base/dists/uniform/entropy' ); 114 115 var a; 116 var b; 117 var v; 118 var i; 119 120 for ( i = 0; i < 10; i++ ) { 121 a = ( randu()*10.0 ); 122 b = ( randu()*10.0 ) + a; 123 v = entropy( a, b ); 124 console.log( 'a: %d, b: %d, h(X;a,b): %d', a.toFixed( 4 ), b.toFixed( 4 ), v.toFixed( 4 ) ); 125 } 126 ``` 127 128 </section> 129 130 <!-- /.examples --> 131 132 <!-- Section to include cited references. If references are included, add a horizontal rule *before* the section. Make sure to keep an empty line after the `section` element and another before the `/section` close. --> 133 134 <section class="references"> 135 136 </section> 137 138 <!-- /.references --> 139 140 <!-- Section for all links. Make sure to keep an empty line after the `section` element and another before the `/section` close. --> 141 142 <section class="links"> 143 144 [uniform-distribution]: https://en.wikipedia.org/wiki/Uniform_distribution_%28continuous%29 145 146 [entropy]: https://en.wikipedia.org/wiki/Entropy_%28information_theory%29 147 148 [nats]: https://en.wikipedia.org/wiki/Nat_%28unit%29 149 150 </section> 151 152 <!-- /.links -->