Scroll to navigation

single_blas_level1(3) LAPACK single_blas_level1(3)

NAME

single_blas_level1

SYNOPSIS

Functions


real function sasum (N, SX, INCX)
SASUM subroutine saxpy (N, SA, SX, INCX, SY, INCY)
SAXPY real function scabs1 (Z)
SCABS1 real function scasum (N, CX, INCX)
SCASUM real function scnrm2 (N, X, INCX)
SCNRM2 subroutine scopy (N, SX, INCX, SY, INCY)
SCOPY real function sdot (N, SX, INCX, SY, INCY)
SDOT real function sdsdot (N, SB, SX, INCX, SY, INCY)
SDSDOT real function snrm2 (N, X, INCX)
SNRM2 subroutine srot (N, SX, INCX, SY, INCY, C, S)
SROT subroutine srotg (SA, SB, C, S)
SROTG subroutine srotm (N, SX, INCX, SY, INCY, SPARAM)
SROTM subroutine srotmg (SD1, SD2, SX1, SY1, SPARAM)
SROTMG subroutine sscal (N, SA, SX, INCX)
SSCAL subroutine sswap (N, SX, INCX, SY, INCY)
SSWAP

Detailed Description

This is the group of real LEVEL 1 BLAS routines.

Function Documentation

real function sasum (integer N, real, dimension(*) SX, integer INCX)

SASUM

Purpose:

    SASUM takes the sum of the absolute values.
    uses unrolled loops for increment equal to one.

Parameters

N

          N is INTEGER
         number of elements in input vector(s)

SX

          SX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) )

INCX

          INCX is INTEGER
         storage spacing between elements of SX

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date

November 2017

Further Details:

     jack dongarra, linpack, 3/11/78.
     modified 3/93 to return if incx .le. 0.
     modified 12/3/93, array(1) declarations changed to array(*)

subroutine saxpy (integer N, real SA, real, dimension(*) SX, integer INCX, real, dimension(*) SY, integer INCY)

SAXPY

Purpose:

    SAXPY constant times a vector plus a vector.
    uses unrolled loops for increments equal to one.

Parameters

N

          N is INTEGER
         number of elements in input vector(s)

SA

          SA is REAL
           On entry, SA specifies the scalar alpha.

SX

          SX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) )

INCX

          INCX is INTEGER
         storage spacing between elements of SX

SY

          SY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) )

INCY

          INCY is INTEGER
         storage spacing between elements of SY

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date

November 2017

Further Details:

     jack dongarra, linpack, 3/11/78.
     modified 12/3/93, array(1) declarations changed to array(*)

real function scabs1 (complex Z)

SCABS1

Purpose:

 SCABS1 computes |Re(.)| + |Im(.)| of a complex number

Parameters

Z

          Z is COMPLEX

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date

November 2017

real function scasum (integer N, complex, dimension(*) CX, integer INCX)

SCASUM

Purpose:

    SCASUM takes the sum of the (|Re(.)| + |Im(.)|)'s of a complex vector and
    returns a single precision result.

Parameters

N

          N is INTEGER
         number of elements in input vector(s)

CX

          CX is COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCX ) )

INCX

          INCX is INTEGER
         storage spacing between elements of SX

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date

November 2017

Further Details:

     jack dongarra, linpack, 3/11/78.
     modified 3/93 to return if incx .le. 0.
     modified 12/3/93, array(1) declarations changed to array(*)

real function scnrm2 (integer N, complex, dimension(*) X, integer INCX)

SCNRM2

Purpose:

 SCNRM2 returns the euclidean norm of a vector via the function
 name, so that
    SCNRM2 := sqrt( x**H*x )

Parameters

N

          N is INTEGER
         number of elements in input vector(s)

X

          X is COMPLEX array, dimension (N)
         complex vector with N elements

INCX

          INCX is INTEGER
         storage spacing between elements of X

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date

November 2017

Further Details:

  -- This version written on 25-October-1982.
     Modified on 14-October-1993 to inline the call to CLASSQ.
     Sven Hammarling, Nag Ltd.

subroutine scopy (integer N, real, dimension(*) SX, integer INCX, real, dimension(*) SY, integer INCY)

SCOPY

Purpose:

    SCOPY copies a vector, x, to a vector, y.
    uses unrolled loops for increments equal to 1.

Parameters

N

          N is INTEGER
         number of elements in input vector(s)

SX

          SX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) )

INCX

          INCX is INTEGER
         storage spacing between elements of SX

SY

          SY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) )

INCY

          INCY is INTEGER
         storage spacing between elements of SY

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date

November 2017

Further Details:

     jack dongarra, linpack, 3/11/78.
     modified 12/3/93, array(1) declarations changed to array(*)

real function sdot (integer N, real, dimension(*) SX, integer INCX, real, dimension(*) SY, integer INCY)

SDOT

Purpose:

    SDOT forms the dot product of two vectors.
    uses unrolled loops for increments equal to one.

Parameters

N

          N is INTEGER
         number of elements in input vector(s)

SX

          SX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) )

INCX

          INCX is INTEGER
         storage spacing between elements of SX

SY

          SY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) )

INCY

          INCY is INTEGER
         storage spacing between elements of SY

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date

November 2017

Further Details:

     jack dongarra, linpack, 3/11/78.
     modified 12/3/93, array(1) declarations changed to array(*)

real function sdsdot (integer N, real SB, real, dimension(*) SX, integer INCX, real, dimension(*) SY, integer INCY)

SDSDOT

Purpose:

   Compute the inner product of two vectors with extended
   precision accumulation.
   Returns S.P. result with dot product accumulated in D.P.
   SDSDOT = SB + sum for I = 0 to N-1 of SX(LX+I*INCX)*SY(LY+I*INCY),
   where LX = 1 if INCX .GE. 0, else LX = 1+(1-N)*INCX, and LY is
   defined in a similar way using INCY.

Parameters

N

          N is INTEGER
          number of elements in input vector(s)

SB

          SB is REAL
          single precision scalar to be added to inner product

SX

          SX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
          single precision vector with N elements

INCX

          INCX is INTEGER
          storage spacing between elements of SX

SY

          SY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
          single precision vector with N elements

INCY

          INCY is INTEGER
          storage spacing between elements of SY

Author

Lawson, C. L., (JPL), Hanson, R. J., (SNLA),

Kincaid, D. R., (U. of Texas), Krogh, F. T., (JPL)

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date

November 2017

Further Details:

    REFERENCES
    C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T.
    Krogh, Basic linear algebra subprograms for Fortran
    usage, Algorithm No. 539, Transactions on Mathematical
    Software 5, 3 (September 1979), pp. 308-323.
    REVISION HISTORY  (YYMMDD)
    791001  DATE WRITTEN
    890531  Changed all specific intrinsics to generic.  (WRB)
    890831  Modified array declarations.  (WRB)
    890831  REVISION DATE from Version 3.2
    891214  Prologue converted to Version 4.0 format.  (BAB)
    920310  Corrected definition of LX in DESCRIPTION.  (WRB)
    920501  Reformatted the REFERENCES section.  (WRB)
    070118  Reformat to LAPACK coding style

real function snrm2 (integer N, real, dimension(*) X, integer INCX)

SNRM2

Purpose:

 SNRM2 returns the euclidean norm of a vector via the function
 name, so that
    SNRM2 := sqrt( x'*x ).

Parameters

N

          N is INTEGER
         number of elements in input vector(s)

X

          X is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) )

INCX

          INCX is INTEGER
         storage spacing between elements of SX

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date

November 2017

Further Details:

  -- This version written on 25-October-1982.
     Modified on 14-October-1993 to inline the call to SLASSQ.
     Sven Hammarling, Nag Ltd.

subroutine srot (integer N, real, dimension(*) SX, integer INCX, real, dimension(*) SY, integer INCY, real C, real S)

SROT

Purpose:

    applies a plane rotation.

Parameters

N

          N is INTEGER
         number of elements in input vector(s)

SX

          SX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) )

INCX

          INCX is INTEGER
         storage spacing between elements of SX

SY

          SY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) )

INCY

          INCY is INTEGER
         storage spacing between elements of SY

C

          C is REAL

S

          S is REAL

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date

November 2017

Further Details:

     jack dongarra, linpack, 3/11/78.
     modified 12/3/93, array(1) declarations changed to array(*)

subroutine srotg (real SA, real SB, real C, real S)

SROTG

Purpose:

    SROTG construct givens plane rotation.

Parameters

SA

          SA is REAL

SB

          SB is REAL

C

          C is REAL

S

          S is REAL

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date

November 2017

Further Details:

     jack dongarra, linpack, 3/11/78.

subroutine srotm (integer N, real, dimension(*) SX, integer INCX, real, dimension(*) SY, integer INCY, real, dimension(5) SPARAM)

SROTM

Purpose:

    APPLY THE MODIFIED GIVENS TRANSFORMATION, H, TO THE 2 BY N MATRIX
    (SX**T) , WHERE **T INDICATES TRANSPOSE. THE ELEMENTS OF SX ARE IN
    (SX**T)
    SX(LX+I*INCX), I = 0 TO N-1, WHERE LX = 1 IF INCX .GE. 0, ELSE
    LX = (-INCX)*N, AND SIMILARLY FOR SY USING USING LY AND INCY.
    WITH SPARAM(1)=SFLAG, H HAS ONE OF THE FOLLOWING FORMS..
    SFLAG=-1.E0     SFLAG=0.E0        SFLAG=1.E0     SFLAG=-2.E0
      (SH11  SH12)    (1.E0  SH12)    (SH11  1.E0)    (1.E0  0.E0)
    H=(          )    (          )    (          )    (          )
      (SH21  SH22),   (SH21  1.E0),   (-1.E0 SH22),   (0.E0  1.E0).
    SEE  SROTMG FOR A DESCRIPTION OF DATA STORAGE IN SPARAM.

Parameters

N

          N is INTEGER
         number of elements in input vector(s)

SX

          SX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) )

INCX

          INCX is INTEGER
         storage spacing between elements of SX

SY

          SY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) )

INCY

          INCY is INTEGER
         storage spacing between elements of SY

SPARAM

          SPARAM is REAL array, dimension (5)
     SPARAM(1)=SFLAG
     SPARAM(2)=SH11
     SPARAM(3)=SH21
     SPARAM(4)=SH12
     SPARAM(5)=SH22

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date

November 2017

subroutine srotmg (real SD1, real SD2, real SX1, real SY1, real, dimension(5) SPARAM)

SROTMG

Purpose:

    CONSTRUCT THE MODIFIED GIVENS TRANSFORMATION MATRIX H WHICH ZEROS
    THE SECOND COMPONENT OF THE 2-VECTOR  (SQRT(SD1)*SX1,SQRT(SD2)*>    SY2)**T.
    WITH SPARAM(1)=SFLAG, H HAS ONE OF THE FOLLOWING FORMS..
    SFLAG=-1.E0     SFLAG=0.E0        SFLAG=1.E0     SFLAG=-2.E0
      (SH11  SH12)    (1.E0  SH12)    (SH11  1.E0)    (1.E0  0.E0)
    H=(          )    (          )    (          )    (          )
      (SH21  SH22),   (SH21  1.E0),   (-1.E0 SH22),   (0.E0  1.E0).
    LOCATIONS 2-4 OF SPARAM CONTAIN SH11,SH21,SH12, AND SH22
    RESPECTIVELY. (VALUES OF 1.E0, -1.E0, OR 0.E0 IMPLIED BY THE
    VALUE OF SPARAM(1) ARE NOT STORED IN SPARAM.)
    THE VALUES OF GAMSQ AND RGAMSQ SET IN THE DATA STATEMENT MAY BE
    INEXACT.  THIS IS OK AS THEY ARE ONLY USED FOR TESTING THE SIZE
    OF SD1 AND SD2.  ALL ACTUAL SCALING OF DATA IS DONE USING GAM.

Parameters

SD1

          SD1 is REAL

SD2

          SD2 is REAL

SX1

          SX1 is REAL

SY1

          SY1 is REAL

SPARAM

          SPARAM is REAL array, dimension (5)
     SPARAM(1)=SFLAG
     SPARAM(2)=SH11
     SPARAM(3)=SH21
     SPARAM(4)=SH12
     SPARAM(5)=SH22

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date

November 2017

subroutine sscal (integer N, real SA, real, dimension(*) SX, integer INCX)

SSCAL

Purpose:

    SSCAL scales a vector by a constant.
    uses unrolled loops for increment equal to 1.

Parameters

N

          N is INTEGER
         number of elements in input vector(s)

SA

          SA is REAL
           On entry, SA specifies the scalar alpha.

SX

          SX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) )

INCX

          INCX is INTEGER
         storage spacing between elements of SX

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date

November 2017

Further Details:

     jack dongarra, linpack, 3/11/78.
     modified 3/93 to return if incx .le. 0.
     modified 12/3/93, array(1) declarations changed to array(*)

subroutine sswap (integer N, real, dimension(*) SX, integer INCX, real, dimension(*) SY, integer INCY)

SSWAP

Purpose:

    SSWAP interchanges two vectors.
    uses unrolled loops for increments equal to 1.

Parameters

N

          N is INTEGER
         number of elements in input vector(s)

SX

          SX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) )

INCX

          INCX is INTEGER
         storage spacing between elements of SX

SY

          SY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) )

INCY

          INCY is INTEGER
         storage spacing between elements of SY

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date

November 2017

Further Details:

     jack dongarra, linpack, 3/11/78.
     modified 12/3/93, array(1) declarations changed to array(*)

Author

Generated automatically by Doxygen for LAPACK from the source code.
Sat Aug 1 2020 Version 3.9.0