Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

dlaset

Set the off-diagonal elements and the diagonal elements of a double-precision floating-point matrix to specified values.

Usage

var dlaset = require( '@stdlib/lapack/base/dlaset' );

dlaset( order, uplo, M, N, alpha, beta, A, LDA )

Sets the off-diagonal elements and the diagonal elements of a double-precision floating-point matrix to specified values.

var Float64Array = require( '@stdlib/array/float64' );

var A = new Float64Array( 4 );

dlaset( 'row-major', 'all', 2, 2, 2.0, 1.0, A, 2 );
// A => <Float64Array>[ 1.0, 2.0, 2.0, 1.0 ]

The function has the following parameters:

  • order: storage layout.
  • uplo: specifies whether to set the upper or lower triangular/trapezoidal part of a matrix A.
  • M: number of rows in A.
  • N: number of columns in A.
  • alpha: value assigned to off-diagonal elements.
  • beta: value assigned to diagonal elements.
  • A: input Float64Array.
  • LDA: stride of the first dimension of A (a.k.a., leading dimension of the matrix A).

Note that indexing is relative to the first index. To introduce an offset, use typed array views.

var Float64Array = require( '@stdlib/array/float64' );

// Initial array:
var A0 = new Float64Array( 5 );

// Create offset view:
var A1 = new Float64Array( A0.buffer, A0.BYTES_PER_ELEMENT*1 ); // start at 2nd element

dlaset( 'row-major', 'all', 2, 2, 2.0, 1.0, A1, 2 );
// A0 => <Float64Array>[ 0.0, 1.0, 2.0, 2.0, 1.0 ]

dlaset.ndarray( uplo, M, N, alpha, beta, A, sa1, sa2, oa )

Sets the off-diagonal elements and the diagonal elements of a double-precision floating-point matrix to specified values using alternative indexing semantics.

var Float64Array = require( '@stdlib/array/float64' );

var A = new Float64Array( 4 );

dlaset.ndarray( 'all', 2, 2, 2.0, 1.0, A, 2, 1, 0 );
// A => <Float64Array>[ 1.0, 2.0, 2.0, 1.0 ]

The function has the following parameters:

  • uplo: specifies whether to set the upper or lower triangular/trapezoidal part of a matrix A.
  • M: number of rows in A.
  • N: number of columns in A.
  • alpha: value assigned to off-diagonal elements.
  • beta: value assigned to diagonal elements.
  • A: input Float64Array.
  • sa1: stride of the first dimension of A.
  • sa2: stride of the second dimension of A.
  • oa: starting index for A.

While typed array views mandate a view offset based on the underlying buffer, the offset parameter supports indexing semantics based on a starting index. For example,

var Float64Array = require( '@stdlib/array/float64' );

var A = new Float64Array( 5 );

dlaset.ndarray( 'all', 2, 2, 2.0, 1.0, A, 2, 1, 1 );
// A => <Float64Array>[ 0.0, 1.0, 2.0, 2.0, 1.0 ]

Notes

Examples

var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
var uniform = require( '@stdlib/random/array/discrete-uniform' );
var numel = require( '@stdlib/ndarray/base/numel' );
var shape2strides = require( '@stdlib/ndarray/base/shape2strides' );
var dlaset = require( '@stdlib/lapack/base/dlaset' );

var shape = [ 5, 8 ];
var order = 'row-major';
var strides = shape2strides( shape, order );

var N = numel( shape );

var A = uniform( N, -10, 10, {
    'dtype': 'float64'
});
console.log( ndarray2array( A, shape, strides, 0, order ) );

dlaset( order, 'all', shape[ 0 ], shape[ 1 ], 2.0, 3.0, A, strides[ 0 ] );
console.log( ndarray2array( A, shape, strides, 0, order ) );

C APIs

Usage

TODO

TODO

TODO.

TODO

TODO

TODO

Examples

TODO