largv#

Functions

void slargv(
    const INT           n,
          f32* restrict X,
    const INT           incx,
          f32* restrict Y,
    const INT           incy,
          f32* restrict C,
    const INT           incc
);
void slargv(const INT n, f32 *restrict X, const INT incx, f32 *restrict Y, const INT incy, f32 *restrict C, const INT incc)#

SLARGV generates a vector of real plane rotations, determined by elements of the real vectors x and y.

For i = 0,1,…,n-1

( c(i) s(i) ) ( x(i) ) = ( r(i) ) ( -s(i) c(i) ) ( y(i) ) = ( 0 )

where c(i)**2 + s(i)**2 = 1.

Parameters

in
n

The number of plane rotations to be generated.

inout
X

Double precision array, dimension (1+(n-1)*incx). On entry, the vector x. On exit, x(i) is overwritten by r(i), for i = 0,…,n-1.

in
incx

The increment between elements of X. incx > 0.

inout
Y

Double precision array, dimension (1+(n-1)*incy). On entry, the vector y. On exit, the sines of the plane rotations.

in
incy

The increment between elements of Y. incy > 0.

out
C

Double precision array, dimension (1+(n-1)*incc). The cosines of the plane rotations.

in
incc

The increment between elements of C. incc > 0.

Functions

void dlargv(
    const INT           n,
          f64* restrict X,
    const INT           incx,
          f64* restrict Y,
    const INT           incy,
          f64* restrict C,
    const INT           incc
);
void dlargv(const INT n, f64 *restrict X, const INT incx, f64 *restrict Y, const INT incy, f64 *restrict C, const INT incc)#

DLARGV generates a vector of real plane rotations, determined by elements of the real vectors x and y.

For i = 0,1,…,n-1

( c(i) s(i) ) ( x(i) ) = ( r(i) ) ( -s(i) c(i) ) ( y(i) ) = ( 0 )

where c(i)**2 + s(i)**2 = 1.

Parameters

in
n

The number of plane rotations to be generated.

inout
X

Double precision array, dimension (1+(n-1)*incx). On entry, the vector x. On exit, x(i) is overwritten by r(i), for i = 0,…,n-1.

in
incx

The increment between elements of X. incx > 0.

inout
Y

Double precision array, dimension (1+(n-1)*incy). On entry, the vector y. On exit, the sines of the plane rotations.

in
incy

The increment between elements of Y. incy > 0.

out
C

Double precision array, dimension (1+(n-1)*incc). The cosines of the plane rotations.

in
incc

The increment between elements of C. incc > 0.

Functions

void clargv(
    const INT           n,
          c64* restrict X,
    const INT           incx,
          c64* restrict Y,
    const INT           incy,
          f32* restrict C,
    const INT           incc
);
void clargv(const INT n, c64 *restrict X, const INT incx, c64 *restrict Y, const INT incy, f32 *restrict C, const INT incc)#

CLARGV generates a vector of complex plane rotations with real cosines, determined by elements of the complex vectors x and y.

For i = 0,1,…,n-1

( c(i) s(i) ) ( x(i) ) = ( r(i) ) ( -conjg(s(i)) c(i) ) ( y(i) ) = ( 0 )

where c(i)**2 + ABS(s(i))**2 = 1

The following conventions are used (these are the same as in CLARTG, but differ from the BLAS1 routine ZROTG): If y(i)=0, then c(i)=1 and s(i)=0. If x(i)=0, then c(i)=0 and s(i) is chosen so that r(i) is real.

Parameters

in
n

The number of plane rotations to be generated.

inout
X

Single complex array, dimension (1+(n-1)*incx). On entry, the vector x. On exit, x(i) is overwritten by r(i), for i = 0,…,n-1.

in
incx

The increment between elements of X. incx > 0.

inout
Y

Single complex array, dimension (1+(n-1)*incy). On entry, the vector y. On exit, the sines of the plane rotations.

in
incy

The increment between elements of Y. incy > 0.

out
C

Single precision array, dimension (1+(n-1)*incc). The cosines of the plane rotations.

in
incc

The increment between elements of C. incc > 0.

Functions

void zlargv(
    const INT            n,
          c128* restrict X,
    const INT            incx,
          c128* restrict Y,
    const INT            incy,
          f64*  restrict C,
    const INT            incc
);
void zlargv(const INT n, c128 *restrict X, const INT incx, c128 *restrict Y, const INT incy, f64 *restrict C, const INT incc)#

ZLARGV generates a vector of complex plane rotations with real cosines, determined by elements of the complex vectors x and y.

For i = 0,1,…,n-1

( c(i) s(i) ) ( x(i) ) = ( r(i) ) ( -conjg(s(i)) c(i) ) ( y(i) ) = ( 0 )

where c(i)**2 + ABS(s(i))**2 = 1

The following conventions are used (these are the same as in ZLARTG, but differ from the BLAS1 routine ZROTG): If y(i)=0, then c(i)=1 and s(i)=0. If x(i)=0, then c(i)=0 and s(i) is chosen so that r(i) is real.

Parameters

in
n

The number of plane rotations to be generated.

inout
X

Double complex array, dimension (1+(n-1)*incx). On entry, the vector x. On exit, x(i) is overwritten by r(i), for i = 0,…,n-1.

in
incx

The increment between elements of X. incx > 0.

inout
Y

Double complex array, dimension (1+(n-1)*incy). On entry, the vector y. On exit, the sines of the plane rotations.

in
incy

The increment between elements of Y. incy > 0.

out
C

Double precision array, dimension (1+(n-1)*incc). The cosines of the plane rotations.

in
incc

The increment between elements of C. incc > 0.