hide long namesshow long names
hide short namesshow short names
Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

NAG Toolbox: nag_blast_zwaxpby (f16gh)

 Contents

    1  Purpose
    2  Syntax
    7  Accuracy
    9  Example

Purpose

nag_blast_zwaxpby (f16gh) computes the sum of two scaled vectors, preserving input, for complex scalars and vectors.

Syntax

[w] = f16gh(n, alpha, x, incx, beta, y, incy, incw)
[w] = nag_blast_zwaxpby(n, alpha, x, incx, beta, y, incy, incw)

Description

nag_blast_zwaxpby (f16gh) performs the operation
w αx+βy,  
where x and y are n-element complex vectors, and α and β are complex scalars.

References

Basic Linear Algebra Subprograms Technical (BLAST) Forum (2001) Basic Linear Algebra Subprograms Technical (BLAST) Forum Standard University of Tennessee, Knoxville, Tennessee http://www.netlib.org/blas/blast-forum/blas-report.pdf

Parameters

Compulsory Input Parameters

1:     n int64int32nag_int scalar
n, the number of elements in x, y and w.
2:     alpha – complex scalar
The scalar α.
3:     x1+n-1×incx – complex array
The n-element vector x.
If incx>0, xi must be stored in xi-1×incx+1, for i=1,2,,n.
If incx<0, xi must be stored in xn-i×incx-1, for i=1,2,,n.
Intermediate elements of x are not referenced.
4:     incx int64int32nag_int scalar
The increment in the subscripts of x between successive elements of x.
Constraint: incx0.
5:     beta – complex scalar
The scalar β.
6:     y1+n-1×incy – complex array
The n-element vector y.
If incy>0, yi must be stored in y1+i-1×incy, for i=1,2,,n.
If incy<0, yi must be stored in y1-n-i×incy, for i=1,2,,n.
Intermediate elements of y are not referenced.
7:     incy int64int32nag_int scalar
The increment in the subscripts of y between successive elements of y.
Constraint: incy0.
8:     incw int64int32nag_int scalar
The increment in the subscripts of w between successive elements of w.
Constraint: incw0.

Optional Input Parameters

None.

Output Parameters

1:     w1+n-1×incw – complex array
The n-element vector w.
If incw>0, wi is in w1+i-1×incw , for i=1,2,,n.
If incw<0, wi is in w1+n-i×incw , for i=1,2,,n.
Intermediate elements of w are not referenced.

Error Indicators and Warnings

If incx=0 or incy=0 or incw=0, an error message is printed and program execution is terminated.

Accuracy

The BLAS standard requires accurate implementations which avoid unnecessary over/underflow (see Section 2.7 of Basic Linear Algebra Subprograms Technical (BLAST) Forum (2001)).

Further Comments

None.

Example

This example computes the result of a scaled vector accumulation for
α=3+2i,   x = -6+1.2i,3.7+4.5i,-4+2.1iT , β=-i,   y = -5.1,6.4-5i,-3-2.4iT .  
x and y, and also the sum vector w, are stored in reverse order.
function f16gh_example


fprintf('f16gh example results\n\n');

n = int64(3);
x = [ -4 + 2.1i    3.7 + 4.5i     -6   + 1.2i];
y = [ -3 - 2.4i    6.4 - 5.0i     -5.1 + 0.0i];

% z = alpha*x +beta*y;
alpha =  3 + 2i;
beta  =  0 - 1i;

fprintf('w = alpha*x + beta*y\n');
fprintf('alpha = %5.1f%+5.1fi      beta = %5.1f%+5.1fi\n', ...
	real(alpha), imag(alpha), real(beta), imag(beta));

incx = int64(1);
incy = int64(1);
incw = int64(1);
[w] = f16gh( ...
	     n, alpha, x, incx, beta, y, incy, incw);

disp('          x                  y                  w');
disp([x; y; w']');


f16gh example results

w = alpha*x + beta*y
alpha =   3.0 +2.0i      beta =   0.0 -1.0i
          x                  y                  w
  -4.0000 - 2.1000i  -3.0000 + 2.4000i -18.6000 + 1.3000i
   3.7000 - 4.5000i   6.4000 + 5.0000i  -2.9000 +14.5000i
  -6.0000 - 1.2000i  -5.1000 + 0.0000i -20.4000 - 3.3000i


PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015