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)