Normalized Hermite Polynomial
Evaluate a normalized Hermite polynomial using single-precision floating-point arithmetic.
The normalized (aka "probabilist") Hermite polynomials are given by
Usage
var normhermitepolyf = require( '@stdlib/math/base/tools/normhermitepolyf' );
normhermitepolyf( n, x )
Evaluates a normalized Hermite polynomial of degree n
using single-precision floating-point arithmetic.
var v = normhermitepolyf( 1, 1.0 );
// returns 1.0
v = normhermitepolyf( 1, 0.5 );
// returns 0.5
v = normhermitepolyf( 0, 0.5 );
// returns 1.0
v = normhermitepolyf( 2, 0.5 );
// returns -0.75
v = normhermitepolyf( -1, 0.5 );
// returns NaN
normhermitepolyf.factory( n )
Returns a function for evaluating a normalized Hermite polynomial of degree n
using single-precision floating-point arithmetic.
var polyval = normhermitepolyf.factory( 2 );
var v = polyval( 0.5 );
// returns -0.75
Examples
var uniform = require( '@stdlib/random/array/uniform' );
var zeros = require( '@stdlib/array/zeros' );
var smap = require( '@stdlib/strided/base/smap' );
var logEach = require( '@stdlib/console/log-each' );
var normhermitepolyf = require( '@stdlib/math/base/tools/normhermitepolyf' );
// Generate random values at which to evaluate a polynomial:
var x = uniform( 10, -50.0, 50.0, {
'dtype': 'float32'
});
// Create a polynomial function of degree 1:
var f = normhermitepolyf.factory( 1 );
// Allocate an output array:
var y = zeros( x.length, 'float32' );
// Evaluate the polynomial:
smap( x.length, x, 1, y, 1, f );
logEach( 'He_%d(%.3f) = %.3f', 1, x, y );
// Create a polynomial function of degree 2:
f = normhermitepolyf.factory( 2 );
// Allocate an output array:
y = zeros( x.length, 'float32' );
// Evaluate the polynomial:
smap( x.length, x, 1, y, 1, f );
logEach( 'He_%d(%.3f) = %.3f', 2, x, y );
// Create a polynomial function of degree 3:
f = normhermitepolyf.factory( 3 );
// Allocate an output array:
y = zeros( x.length, 'float32' );
// Evaluate the polynomial:
smap( x.length, x, 1, y, 1, f );
logEach( 'He_%d(%.3f) = %.3f', 3, x, y );