Skip to content

Latest commit

 

History

History
123 lines (73 loc) · 2.78 KB

File metadata and controls

123 lines (73 loc) · 2.78 KB

gsumkbn2

Compute the sum of all elements in a one-dimensional ndarray using a second-order iterative Kahan–Babuška algorithm.

Usage

var gsumkbn2 = require( '@stdlib/blas/ext/base/ndarray/gsumkbn2' );

gsumkbn2( arrays )

Computes the sum of all elements in a one-dimensional ndarray using a second-order iterative Kahan–Babuška algorithm.

var ndarray = require( '@stdlib/ndarray/base/ctor' );

var xbuf = [ 1.0, 3.0, 4.0, 2.0 ];
var x = new ndarray( 'generic', xbuf, [ 4 ], [ 1 ], 0, 'row-major' );

var v = gsumkbn2( [ x ] );
// returns 10.0

The function has the following parameters:

  • arrays: array-like object containing a one-dimensional input ndarray.

Notes

  • If provided an empty one-dimensional ndarray, the function returns 0.0.

Examples

var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var ndarray = require( '@stdlib/ndarray/base/ctor' );
var ndarray2array = require( '@stdlib/ndarray/to-array' );
var gsumkbn2 = require( '@stdlib/blas/ext/base/ndarray/gsumkbn2' );

var xbuf = discreteUniform( 10, -50, 50, {
    'dtype': 'generic'
});
var x = new ndarray( 'generic', xbuf, [ xbuf.length ], [ 1 ], 0, 'row-major' );
console.log( ndarray2array( x ) );

var v = gsumkbn2( [ x ] );
console.log( v );

References

  • Klein, Andreas. 2005. "A Generalized Kahan-Babuška-Summation-Algorithm." Computing 76 (3): 279–93. doi:10.1007/s00607-005-0139-x.