Skip to content

Files

Latest commit

baf03c9 · Nov 3, 2023

History

History

gdot

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Jun 10, 2021
Nov 3, 2023
Jun 10, 2021
Oct 1, 2022
Jun 10, 2021
Mar 8, 2023
Jun 10, 2021

gdot

Calculate the dot product of two vectors.

The dot product (or scalar product) is defined as

x y = i = 0 N 1 x i y i = x 0 y 0 + x 1 y 1 + + x N 1 y N 1

Usage

var gdot = require( '@stdlib/blas/gdot' );

gdot( x, y )

Calculates the dot product of vectors x and y.

var Int32Array = require( '@stdlib/array/int32' );
var array = require( '@stdlib/ndarray/array' );

var x = array( new Int32Array( [ 4.0, 2.0, -3.0, 5.0, -1.0 ] ) );
var y = array( new Int32Array( [ 2.0, 6.0, -1.0, -4.0, 8.0 ] ) );

var z = gdot( x, y );
// returns -5.0

The function has the following parameters:

  • x: a 1-dimensional ndarray or an array-like object.
  • y: a 1-dimensional ndarray or an array-like object.

If provided empty vectors, the function returns 0.0.

var z = gdot( [], [] );
// returns 0.0

Notes

  • gdot() corresponds to the BLAS level 1 function ddot with the exception that this implementation works with any array type, not just Float64Arrays.
  • In general, for best performance, especially for large vectors, provide 1-dimensional ndarrays whose underlying data type is either float64 or float32.

Examples

var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
var gdot = require( '@stdlib/blas/gdot' );

var rand1 = discreteUniform.factory( 0, 100 );
var rand2 = discreteUniform.factory( 0, 10 );

var x = [];
var y = [];
var i;
for ( i = 0; i < 10; i++ ) {
    x.push( rand1() );
    y.push( rand2() );
}
console.log( x );
console.log( y );

var z = gdot( x, y );
console.log( z );

See Also