clarscl2 - perform reciprocal diagonal scaling on a vector
SUBROUTINE CLARSCL2 ( M, N, D, X, LDX ) INTEGER M, N, LDX COMPLEX X(LDX,*) REAL D(*) SUBROUTINE CLARSCL2_64 ( M, N, D, X, LDX ) INTEGER*8 M, N, LDX COMPLEX X(LDX,*) REAL D(*) F95 INTERFACE SUBROUTINE LARSCL2 ( M, N, D, X, LDX ) INTEGER :: M, N, LDX COMPLEX, DIMENSION(:,:) :: X REAL, DIMENSION(:) :: D SUBROUTINE LARSCL2_64 ( M, N, D, X, LDX ) INTEGER(8) :: M, N, LDX COMPLEX, DIMENSION(:,:) :: X REAL, DIMENSION(:) :: D C INTERFACE #include <sunperf.h> void clarscl2 (int m, int n, float *d, complex *x, int ldx); void clarscl2_64 (long m, long n, float *d, complex *x, long ldx);
Oracle Solaris Studio Performance Library clarscl2(3P)
NAME
clarscl2 - perform reciprocal diagonal scaling on a vector
SYNOPSIS
SUBROUTINE CLARSCL2 ( M, N, D, X, LDX )
INTEGER M, N, LDX
COMPLEX X(LDX,*)
REAL D(*)
SUBROUTINE CLARSCL2_64 ( M, N, D, X, LDX )
INTEGER*8 M, N, LDX
COMPLEX X(LDX,*)
REAL D(*)
F95 INTERFACE
SUBROUTINE LARSCL2 ( M, N, D, X, LDX )
INTEGER :: M, N, LDX
COMPLEX, DIMENSION(:,:) :: X
REAL, DIMENSION(:) :: D
SUBROUTINE LARSCL2_64 ( M, N, D, X, LDX )
INTEGER(8) :: M, N, LDX
COMPLEX, DIMENSION(:,:) :: X
REAL, DIMENSION(:) :: D
C INTERFACE
#include <sunperf.h>
void clarscl2 (int m, int n, float *d, complex *x, int ldx);
void clarscl2_64 (long m, long n, float *d, complex *x, long ldx);
PURPOSE
clarscl2 performs a reciprocal diagonal scaling on an vector: x <--
inv(D) * x where the REAL diagonal matrix D is stored as a vector.
Eventually to be replaced by BLAS_cge_diag_scale in the new BLAS stan-
dard.
ARGUMENTS
M (input)
M is INTEGER
The number of rows of D and X. M >= 0.
N (input)
N is INTEGER
The number of columns of D and X. N >= 0.
D (input)
D is REAL array, length M
Diagonal matrix D, stored as a vector of length M.
X (input/output)
X is COMPLEX array, dimension (LDX,N)
On entry, the vector X to be scaled by D.
On exit, the scaled vector.
LDX (input)
LDX is INTEGER
The leading dimension of the vector X. LDX >= 0.
7 Nov 2015 clarscl2(3P)