# Correlation Distance Matrix

Given

*feature vectors of dimension Lmath:*n

**, the problem is to compute the symmetric matrix of distances between feature vectors, where**p

## Batch Processing

Algorithm Input

The correlation distance matrix algorithm 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 for which the distance is computed. The input can be an object of any class derived from NumericTable . |

Algorithm Parameters

The correlation distance matrix algorithm has the following parameters:

Parameter | Default Value | Description |
---|---|---|

algorithmFPType | float | The floating-point type that the algorithm uses for intermediate computations. Can be float or double . |

method | defaultDense | Performance-oriented computation method, the only method supported by the algorithm. |

Algorithm Output

The correlation distance matrix 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 |
---|---|

correlationDistance | Pointer to the numeric table that represents the
symmetric distance matrix
. By default, the result is an object of the PackedSymmetricMatrix class with the lowerPackedSymmetricMatrix layout.
However, you can define the result as an object of any class derived from NumericTable except PackedTriangularMatrix and CSRNumericTable . |

## Examples

C++ (CPU)

Batch Processing:

Java*

Python*

Batch Processing:

## Performance Considerations

To get the best overall performance when computing the correlation distance matrix:

- If input data is homogeneous, provide the input data and store results in homogeneous numeric tables of the same type as specified in thealgorithmFPTypeclass template parameter.
- If input data is non-homogeneous, use AOS layout rather than SOA layout.

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 |