Developer Reference

  • 0.9
  • 09/09/2020
  • Public Content
Contents

p?lassq

Updates a sum of squares represented in scaled form.

Syntax

void
pslassq
(
MKL_INT
*n
,
float
*x
,
MKL_INT
*ix
,
MKL_INT
*jx
,
MKL_INT
*descx
,
MKL_INT
*incx
,
float
*scale
,
float
*sumsq
);
void
pdlassq
(
MKL_INT
*n
,
double
*x
,
MKL_INT
*ix
,
MKL_INT
*jx
,
MKL_INT
*descx
,
MKL_INT
*incx
,
double
*scale
,
double
*sumsq
);
void
pclassq
(
MKL_INT
*n
,
MKL_Complex8
*x
,
MKL_INT
*ix
,
MKL_INT
*jx
,
MKL_INT
*descx
,
MKL_INT
*incx
,
float
*scale
,
float
*sumsq
);
void
pzlassq
(
MKL_INT
*n
,
MKL_Complex16
*x
,
MKL_INT
*ix
,
MKL_INT
*jx
,
MKL_INT
*descx
,
MKL_INT
*incx
,
double
*scale
,
double
*sumsq
);
Include Files
  • mkl_scalapack.h
Description
The
p?lassq
function
returns the values
scl
and
smsq
such that
scl
2
*
smsq
=
x
1
2
+ ... +
x
n
2
+
scale
2
*
sumsq
,
where
x
i
= sub(
X
) =
X
(
ix
+ (
jx
-1)*
m_x
+ (
i
- 1)*
incx
) for
pslassq/pdlassq
,
x
i
= sub(
X
) = abs(
X
(
ix
+ (
jx
-1)*
m_x
+ (
i
- 1)*
incx
) for
pclassq/pzlassq
.
For real
functions
pslassq/pdlassq
the value of
sumsq
is assumed to be non-negative and
scl
returns the value
scl
= max(
scale
, abs(
x
i
)).
For complex
functions
pclassq/pzlassq
the value of
sumsq
is assumed to be at least unity and the value of
ssq
will then satisfy
1.0
ssq
sumsq
+2
n
Value
scale
is assumed to be non-negative and
scl
returns the value
For all
functions
p?lassq
values
scale
and
sumsq
must be supplied in
scale
and
sumsq
respectively, and
scale
and
sumsq
are overwritten by
scl
and
ssq
respectively.
All
functions
p?lassq
make only one pass through the vector sub(
X
).
Input Parameters
n
(global)
The length of the distributed vector sub(
x
).
x
The array that stores the
vector for which a scaled sum of squares is computed:
x
[
ix
+ (
jx
-1)*
m_x
+ i*
incx
], 0
i
<
n
.
ix
(global)
The row index in the global matrix
X
indicating the first row of sub(
X
).
jx
(global)
The column index in the global matrix
X
indicating the first column of sub(
X
).
descx
(global and local) array of size
dlen_
.
The array descriptor for the distributed matrix
X
.
incx
(global)
The global increment for the elements of
X
. Only two values of
incx
are supported in this version, namely 1 and
m_x
. The argument
incx
must not equal zero.
scale
(local).
On entry, the value
scale
in the equation above.
sumsq
(local)
On entry, the value
sumsq
in the equation above.
Output Parameters
scale
(local).
On exit,
scale
is overwritten with
sc
l
, the scaling factor for the sum of squares.
sumsq
(local).
On exit,
sumsq
is overwritten with the value
smsq,
the basic sum of squares from which
scl
has been factored out.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804