C.3.1 Basic Set (VAX only)

Table C-7 summarizes the BLAS Level 1 Basic Set routines. For more information on these routines (including mapping and inlining information), see your performance guide.

Table C-7 BLAS Basic Set Routines (VAX only)

Routines  Information 
IxAMAX [1] Description:  These functions return the index of the first selected element of an array argument that has the maximum absolute value. 
  Syntax:  y = IxAMAX (n, x, incx)  
  Arguments:  n  Integer number of element to be accessed in the array. 
    x  Array containing the elements to be accessed (or array reference to the first such element). 
    incx  Integer index increment to use in selecting the elements in the array. 
  Specific Functions:  Name  Array Argument  Result 
    ISAMAX  REAL*4  INTEGER*4 
    IDAMAX  REAL*8  INTEGER*4 
    ICAMAX  COMPLEX*8  INTEGER*4 
    IZAMAX  COMPLEX*16  INTEGER*4 
 
xASUM [1] Description:  These functions return the sum of the absolute values of selected elements of an array argument. 
  Syntax:  y = xASUM (n, x, incx)  
  Arguments:  n  Integer number of element to be accessed in the array. 
    x  Array containing the elements to be accessed (or array reference to the first such element). 
    incx  Integer index increment to use in selecting the elements in the array. 
  Specific Functions:  Name  Array Argument  Result 
    SASUM  REAL*4  REAL*4 
    DASUM  REAL*8  REAL*8 
    SCASUM  COMPLEX*8  REAL*4 
    DZASUM  COMPLEX*16  REAL*8 
 
xAXPY [2] Description:  These subroutines multiply an array by a scalar value and add an array. 
  Syntax:   CALL xAXPY (n, a, x, incx, y, incy)  
  Arguments:  n  Integer number of element to be accessed in the arrays. 
    a  Scalar multiplier for input array. 
    x  Input array containing the elements to be accessed (or array reference to the first such element). 
    incx  Integer index increment to use in selecting the elements in the input array. 
    y  Output array containing the elements to be accessed (or array reference to the first such element). 
    incy  Integer index increment to use in selecting the elements in the output array. 
  Specific Subroutines:  Name  Scalar  Array Argument 
    SAXPY  REAL*4  REAL*4 
    DAXPY  REAL*8  REAL*8 
    CAXPY  COMPLEX*8  COMPLEX*8 
    ZAXPY  COMPLEX*16  COMPLEX*16 
 
xCOPY [3] Description:  These subroutines copy selected elements from one array to another array. 
  Syntax:   CALL xCOPY (n, x, incx, y, incy)  
  Arguments:  n  Integer number of element to be accessed in the arrays. 
    x  Input array containing the elements to be accessed (or array reference to the first such element). 
    incx  Integer index increment to use in selecting the elements in the input array. 
    y  Output array containing the elements to be accessed (or array reference to the first such element). 
    incy  Integer index increment to use in selecting the elements in the output array. 
  Specific Subroutines:  Name  Array Argument   
    SCOPY  REAL*4   
    DCOPY  REAL*8   
    CCOPY  COMPLEX*8   
    ZCOPY  COMPLEX*16   
 
xDOTx [4] Description:  These functions return the inner product of two arrays. 
  Syntax:   y = xDOTx (n, x, incx, y, incy)  
  Arguments:  n  Integer number of element to be accessed in the arrays. 
    x  First array containing the elements to be accessed (or array reference to the first such element). 
    incx  Integer index increment to use in selecting the elements in the first array. 
    y  Second array containing the elements to be accessed (or array reference to the first such element). 
    incy  Integer index increment to use in selecting the elements in the second array. 
  Specific Functions:  Name   Array Argument  Result 
    SDOT  REAL*4  REAL*4 
    DDOT  REAL*8  REAL*8 
    CDOTC  COMPLEX*8  COMPLEX*8 
    CDOTU  COMPLEX*8  COMPLEX*8 
    ZDOTC  COMPLEX*16  COMPLEX*16 
    ZDOTU  COMPLEX*16  COMPLEX*16 
 
xNRM2 Description:  These functions return the Euclidean norm of an array. For inlining information on the xNRM2 functions, see your performance guide. 
  Syntax:  y = xNRM2 (n, x, incx) 
  Arguments:  n  Integer number of element to be accessed in the array. 
    x  Array containing the elements to be accessed (or array reference to the first such element). 
    incx  Integer index increment to use in selecting the elements in the array. 
  Specific Functions:  Name  Array Argument   Result 
    SNRM2  REAL*4  REAL*4 
    DNRM2  REAL*8  REAL*8 
    SCNRM2  COMPLEX*8  REAL*4 
    DZNRM2  COMPLEX*16  REAL*8 
 
xROT [5] Description:  These subroutines apply a Givens plane rotation to a pair of arrays. 
  Syntax:   CALL xROT (n, x, incx, y, incy, c, s)  
  Arguments:  n  Integer number of element to be accessed in the arrays. 
    x  First array containing the elements to be accessed (or array reference to the first such element). 
    incx  Integer index increment to use in selecting the elements in the first array. 
    y  Second array containing the elements to be accessed (or array reference to the first such element). 
    incy  Integer index increment to use in selecting the elements in the second array. 
    c[6]  First rotation element, which can be interpreted as the cosine of the angle of rotation. 
    s[6]  Second rotation element, which can be interpreted as the sine of the angle of rotation. 
  Specific Subroutines:  Name  Array Argument  Rotation Element 
    SROT  REAL*4  REAL*4 
    DROT  REAL*8  REAL*8 
    CSROT  COMPLEX*8  REAL*4 
    ZDROT  COMPLEX*16  REAL*8 
 
xROTG Description:  These subroutines generate the elements for a Givens plane rotation. The xROTG subroutines cannot be inlined. 
  Syntax:  CALL xROTG (a, b, c, s) 
  Arguments:  a  On entry, the first element of the input array. On exit, rotated element r. 
    b  On entry, the second element of the input array. On exit from SROTG and DROTG, reconstruction element z. 
    c  Variable that stores the first rotation element, which can be interpreted as the cosine of the angle of rotation. 
    s  Variable that stores the second rotation element, which can be interpreted as the sine of the angle of rotation. 
  Specific Subroutines:  Name  Array Element   Rotation Variable 
    SROTG  REAL*4  REAL*4 
    DROTG  REAL*8  REAL*8 
    CROTG  COMPLEX*8  COMPLEX*8 
    ZROTG  COMPLEX*16  COMPLEX*16 
 
xSCAL Description:  These subroutines scale the elements of an array by a scalar value. The selected elements are replaced by the scaled value
  Syntax:  CALL xSCAL (n, a, x, incx)  
  Arguments:  n  Integer number of element to be accessed in the array. 
    a  Scalar multiplier for the array. 
    x  Array containing the elements to be accessed (or array reference to the first such element). 
    incx  Integer index increment to use in selecting the elements in the array. 
  Specific Subroutines:  Name  Scalar   Array Argument 
    SSCAL  REAL*4  REAL*4 
    DSCAL  REAL*8  REAL*8 
    CSCAL  COMPLEX*8  COMPLEX*8 
    CSSCAL  REAL*4  COMPLEX*8 
    ZSCAL  COMPLEX*16  COMPLEX*16 
    ZDSCAL  REAL*8  COMPLEX*16 
 
xSWAP Description:  These subroutines swap elements between two arrays. 
  Syntax:   CALL xSWAP (n, x, incx, y, incy)  
  Arguments:  n  Integer number of element to be accessed in the arrays. 
    x  Array containing elements to be swapped with corresponding elements in array y (or array reference to the first such element). 
    incx  Integer index increment to use in selecting the elements in array x. 
    y  Array containing elements to be swapped with corresponding elements in array x (or array reference to the first such element). 
    incy  Integer index increment to use in selecting the elements in array y. 
  Specific Subroutines:  Name   Array Argument   
    SSWAP  REAL*4   
    DSWAP  REAL*8   
    CSWAP  COMPLEX*8   
    ZSWAP  COMPLEX*16   


[1] For the purpose of these functions, the absolute value of a complex number is defined as the sum of the absolute values of the real and imaginary parts.

[2] The elements in array x are multiplied by scalar a and then added to the corresponding elements of array y, thereby replacing them.

[3] The elements in array x are copied to the corresponding elements of array y, thereby replacing them.

[4] CDOTC and ZDOTC compute conjugated values, while CDOTU and ZDOTU compute unconjugated values.

[5] CSROT and ZDROT apply a real rotation to a pair of complex arrays.

[6] This argument can be generated by the xROTG routines.


Previous Page Next Page Table of Contents