Dirac Delta

Evaluate the Dirac delta function.

The Dirac delta function may be loosely defined as

and is constrained to satisfy the identity

Note that the Dirac delta function is not a function in the traditional sense, as any real-valued function which is zero everywhere except at a single point, must have an integral equal to 0.

Usage

var diracDelta = require( '@stdlib/math/base/special/dirac-delta' );

diracDelta( x )

Evaluates the Dirac delta function.

var v = diracDelta( 0.0 );
// returns Infinity

v = diracDelta( 3.14 );
// returns 0.0

v = diracDelta( NaN );
// returns NaN

Examples

var linspace = require( '@stdlib/array/base/linspace' );
var diracDelta = require( '@stdlib/math/base/special/dirac-delta' );

var x = linspace( -1.0, 1.0, 101 );

var i;
for ( i = 0; i < x.length; i++ ) {
    console.log( 'dirac(%d) = %d', x[ i ], diracDelta( x[ i ] ) );
}

C APIs

Usage

#include "stdlib/math/base/special/dirac_delta.h"

stdlib_base_dirac_delta( x )

Evaluates the Dirac delta function.

double x = stdlib_base_dirac_delta( 0.0 );
// returns Infinity

x = stdlib_base_dirac_delta( 3.14 );
// returns 0.0

The function accepts the following arguments:

  • x: [in] double input value.
double stdlib_base_dirac_delta( const double x );

Examples

#include "stdlib/math/base/special/dirac_delta.h"
#include <stdlib.h>
#include <stdio.h>

int main( void ) {
    const double x[] = { -1.0, -0.5, 0.0, 0.5, 1.0, 3.14, 2.0 };
    
    double v;
    int i;
    for ( i = 0; i < 7; i++ ) {
        v = stdlib_base_dirac_delta( x[ i ] );
        printf( "dirac(%lf) = %lf\n", x[ i ], v );
    }
}
Did you find this page helpful?