Set the off-diagonal elements and the diagonal elements of a double-precision complex floating-point matrix to specified values.
var zlaset = require( '@stdlib/lapack/base/zlaset' );
Sets the off-diagonal elements and the diagonal elements of a double-precision complex floating-point matrix to specified values.
var Complex128Array = require( '@stdlib/array/complex128' );
var Complex128 = require( '@stdlib/complex/float64/ctor' );
var real = require( '@stdlib/complex/float64/real' );
var imag = require( '@stdlib/complex/float64/imag' );
var A = new Complex128Array( 4 );
var alpha = new Complex128( 1.0, 2.0 );
var beta = new Complex128( 3.0, 4.0 );
zlaset( 'row-major', 'all', 2, 2, alpha, beta, A, 2 );
var z = A.get( 0 );
// returns <Complex128>
var re = real( z );
// returns 3.0
var im = imag( z );
// returns 4.0
z = A.get( 1 );
// returns <Complex128>
re = real( z );
// returns 1.0
im = imag( z );
// returns 2.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
Complex128Array
. - LDA: stride of the first dimension of
A
(a.k.a., leading dimension of the matrixA
).
Note that indexing is relative to the first index. To introduce an offset, use typed array
views.
var Complex128Array = require( '@stdlib/array/complex128' );
var Complex128 = require( '@stdlib/complex/float64/ctor' );
var real = require( '@stdlib/complex/float64/real' );
var imag = require( '@stdlib/complex/float64/imag' );
// Initial array:
var A0 = new Complex128Array( 5 );
// Create offset view:
var A1 = new Complex128Array( A0.buffer, A0.BYTES_PER_ELEMENT*1 ); // start at 2nd element
var alpha = new Complex128( 1.0, 2.0 );
var beta = new Complex128( 3.0, 4.0 );
zlaset( 'row-major', 'all', 2, 2, alpha, beta, A1, 2 );
var z = A0.get( 1 );
// returns <Complex128>
var re = real( z );
// returns 3.0
var im = imag( z );
// returns 4.0
Sets the off-diagonal elements and the diagonal elements of a double-precision complex floating-point matrix to specified values using alternative indexing semantics.
var Complex128Array = require( '@stdlib/array/complex128' );
var Complex128 = require( '@stdlib/complex/float64/ctor' );
var real = require( '@stdlib/complex/float64/real' );
var imag = require( '@stdlib/complex/float64/imag' );
var A = new Complex128Array( 4 );
var alpha = new Complex128( 1.0, 2.0 );
var beta = new Complex128( 3.0, 4.0 );
zlaset.ndarray( 'all', 2, 2, alpha, beta, A, 2, 1, 0 );
var z = A.get( 0 );
// returns <Complex128>
var re = real( z );
// returns 3.0
var im = imag( z );
// returns 4.0
z = A.get( 1 );
// returns <Complex128>
re = real( z );
// returns 1.0
im = imag( z );
// returns 2.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
Complex128Array
. - 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 Complex128Array = require( '@stdlib/array/complex128' );
var Complex128 = require( '@stdlib/complex/float64/ctor' );
var real = require( '@stdlib/complex/float64/real' );
var imag = require( '@stdlib/complex/float64/imag' );
var A = new Complex128Array( 5 );
var alpha = new Complex128( 1.0, 2.0 );
var beta = new Complex128( 3.0, 4.0 );
zlaset.ndarray( 'all', 2, 2, alpha, beta, A, 2, 1, 1 );
var z = A.get( 0 );
// returns <Complex128>
var re = real( z );
// returns 0.0
var im = imag( z );
// returns 0.0
z = A.get( 1 );
// returns <Complex128>
re = real( z );
// returns 3.0
im = imag( z );
// returns 4.0
var Complex128Array = require( '@stdlib/array/complex128' );
var Complex128 = require( '@stdlib/complex/float64/ctor' );
var ndarray2array = require( '@stdlib/ndarray/base/to-array' );
var numel = require( '@stdlib/ndarray/base/numel' );
var shape2strides = require( '@stdlib/ndarray/base/shape2strides' );
var zlaset = require( '@stdlib/lapack/base/zlaset' );
var shape = [ 5, 8 ];
var order = 'row-major';
var strides = shape2strides( shape, order );
var N = numel( shape );
var A = new Complex128Array( N );
console.log( ndarray2array( A, shape, strides, 0, order ) );
var alpha = new Complex128( 1.0, 2.0 );
var beta = new Complex128( 3.0, 4.0 );
zlaset( order, 'all', shape[ 0 ], shape[ 1 ], alpha, beta, A, strides[ 0 ] );
console.log( ndarray2array( A, shape, strides, 0, order ) );
TODO
TODO.
TODO
TODO
TODO
TODO