Developer Guide

Contents

Online Processing

Online processing computation mode assumes that data arrives in blocks
i
= 1, 2, 3, …
nblocks
.
Computation of correlation and variance-covariance matrices in the online processing mode follows the general computation schema for online processing described in Algorithms.

Algorithm Input

The correlation and variance-covariance matrices algorithm in the online processing mode accepts the input described below. Pass the Input ID as a parameter to the methods that provide input for your algorithm. For more details, see Algorithms.
Input ID
Input
data
Pointer to the numeric table of size
n
i
x
p
that represents the current data block. While the input for
defaultDense
,
singlePassDense
, or
sumDense
method can be an object of any class derived from
NumericTable
, the input for
fastCSR
,
singlePassCSR
, or
sumCSR
method can only be an object of the
CSRNumericTable
class.

Algorithm Parameters

The correlation and variance-covariance matrices algorithm has the following parameters in the online processing mode:
Parameter
Default Value
Description
algorithmFPType
float
The floating-point type that the algorithm uses for intermediate computations. Can be
float
or
double
.
method
defaultDense
Available methods for computation of correlation and variance-covariance matrices:
  • defaultDense
    - default performance-oriented method
  • singlePassDense
    - implementation of the single-pass algorithm proposed by D.H.D. West
  • sumDense
    - implementation of the algorithm in the cases where the basic statistics associated with the numeric table are pre-computed sums; returns an error if pre-computed sums are not defined
  • fastCSR
    - performance-oriented method for CSR numeric tables
  • singlePassCSR
    - implementation of the single-pass algorithm proposed by D.H.D. West; optimized for CSR numeric tables
  • sumCSR
    - implementation of the algorithm in the cases where the basic statistics associated with the numeric table are pre-computed sums; optimized for CSR numeric tables; returns an error if pre-computed sums are not defined
outputMatrixType
covarianceMatrix
The type of the output matrix. Can be:
  • covarianceMatrix
    - variance-covariance matrix
  • correlationMatrix
    - correlation matrix
initialization
Procedure
Not applicable
The procedure for setting initial parameters of the algorithm in the online processing mode. By default, the algorithm sets the
nObservations
,
sum
, and
crossProduct
parameters to zero.

Partial Results

The correlation and variance-covariance matrices algorithm in the online processing mode calculates partial results described below. Pass the Result ID as a parameter to the methods that access the results of your algorithm. For more details, see Algorithms.
Result ID
Result
nObservations
Pointer to the 1 x 1 numeric table that contains the number of observations processed so far. By default, this result is an object of the
HomogenNumericTable
class, but you can define the result as an object of any class derived from
NumericTable
except
CSRNumericTable
.
crossProduct
Pointer to
p
x
p
numeric table with the cross-product matrix computed so far. By default, this table is an object of the
HomogenNumericTable
class, but you can define the result as an object of any class derived from
NumericTable
except
PackedSymmetricMatrix
,
PackedTriangularMatrix
, and
CSRNumericTable
.
sum
Pointer to 1 x
p
numeric table with partial sums computed so far. By default, this table is an object of the
HomogenNumericTable
class, but you can define the result as an object of any class derived from
NumericTable
except
PackedSymmetricMatrix
,
PackedTriangularMatrix
, and
CSRNumericTable
.

Algorithm Output

The correlation and variance-covariance matrices algorithm calculates the result described below. Pass the Result ID as a parameter to the methods that access the results of your algorithm. For more details, see Algorithms.
Result ID
Result
covariance
Use when
outputMatrixType
=
covarianceMatrix
. Pointer to the numeric table with the
p
x
p
variance-covariance matrix. By default, this result is an object of the
HomogenNumericTable
class, but you can define the result as an object of any class derived from
NumericTable
except
PackedTriangularMatrix
and
CSRNumericTable
.
correlation
Use when
outputMatrixType
=
correlationMatrix
. Pointer to the numeric table with the
p
x
p
correlation matrix. By default, this result is an object of the
HomogenNumericTable
class, but you can define the result as an object of any class derived from
NumericTable
except
PackedTriangularMatrix
and
CSRNumericTable
.
mean
Pointer to the 1 x
p
numeric table with means. By default, this result is an object of the
HomogenNumericTable
class, but you can define the result as an object of any class derived from
NumericTable
except
PackedTriangularMatrix
,
PackedSymmetricMatrix
, and
CSRNumericTable
.
Optimization Notice
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

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