CXML

sscal, dscal, cscal, zscal, csscal, zdscal 


FORMAT

  {S,D,C,Z}SCAL (n, alpha, x, incx) CSSCAL (n, alpha, x, incx) ZDSCAL (n,
  alpha, x, incx)

Arguments

  n                   integer*4
                      On entry, the number of elements in the vector x.
                      On exit, n is unchanged.

  alpha               real*4 | real*8 | complex*8 | complex*16
                      On entry, the scalar value used to multiply the
                      elements of vector x.
                      On exit, alpha is unchanged.

  x                   real*4 | real*8 | complex*8 | complex*16
                      On entry, a one-dimensional array X of length at least
                      (1+(n-1)*|incx|), containing the elements of the vector
                      x.
                      On exit, if n<=0 or alpha = 1.0, then x is unchanged.
                      Otherwise, x is overwritten; x(i) is replaced by
                      alpha*x(i).

  incx                integer*4
                      On entry, the increment for the array X.
                      If incx > 0, vector x is stored forward in the array,
                      so that x(i) is stored in location X(1+(i-1)*incx).
                      If incx < 0, vector x is stored backward in the array,
                      so that x(i) is stored in location X(1+(n-i)*|incx|).
                      If incx = 0, only the first element in the array is
                      scaled.
                      On exit, incx is unchanged.

Description

  These routines perform the following operation: x = alpha*x
  SSCAL and DSCAL scale the elements of a real vector by computing the
  product of the vector and a real scalar alpha*x.  CSCAL and ZSCAL scale the
  elements of a complex vector by computing the product of the vector and a
  complex scalar alpha.  CSSCAL and  ZDCAL scale the elements of a complex
  vector by computing the product of the vector and a real scalar alpha.

  If n<=0 or alpha = 1.0, x is unchanged.

  If incx < 0, the result is identical to using |incx|.

  If alpha = 0.0 or (0.0, 0.0), the computation is a time-consuming way of
  setting all elements of the vector x equal to zero.  Use the BLAS Level 1
  Extensions subroutines _SET to set all the elements of a vector to a
  scalar.

  The _SCAL routines are similar to the BLAS Level 1 Extensions subroutines
  _VCAL routines, but the _VCAL routines use an output vector different from
  the input vector.

Example

  INTEGER*4 INCX, N
  COMPLEX*8 X(20), alpha
  INCX = 1
  alpha = (2.0, 1.0)
  N = 20
  CALL CSCAL(N,alpha,X,INCX)

  This FORTRAN code shows how to scale a complex vector x by the complex
  scalar (2.0, 1.0).

CXML Home Page

Index of CXML Routines