Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

vslSSCompute

Computes Summary Statistics estimates.

Syntax

status = vslssscompute(task, estimates, method)

status = vsldsscompute(task, estimates, method)

Include Files

  • mkl_vsl.f90

Input Parameters

Name

Type

Description

task

Fortran: TYPE(VSL_SS_TASK)

Descriptor of the task

estimates

Fortran: INTEGER (KIND=8)

List of statistical estimates to compute

method

Fortran: INTEGER

Method to be used in calculations

Output Parameters

Name

Type

Description

status

Fortran: INTEGER

Current status of the task

Description

The vslSSCompute routine calculates statistical estimates passed as the estimates parameter using the algorithms passed as the method parameter of the routine. The computations are done in the context of the task descriptor that contains pointers to all required and optional, if necessary, properly initialized arrays. In one call of the function, you can compute several estimates using proper methods for their calculation. See Table "Summary Statistics Estimates Obtained with Compute Routine" for the list of the estimates that you can calculate with the vslSSCompute routine. See Table "Summary Statistics Computation Methods" for the list of possible values of the method parameter.

To initialize single or double precision version task parameters, use the single (vslssscompute) or double (vsldsscompute) version of the editor, respectively. To initialize parameters of the integer type, use an integer version of the editor (vslisscompute).

NOTE:

Requesting a combination of the VSL_SS_MISSING_VALS value and any other estimate parameter in the Compute function results in processing only the missing values.

Application Notes

Be aware that when computing a correlation matrix, the vslSSCompute routine allocates an additional array for each thread which is running the task. If you are running on a large number of threads vslSSCompute might consume large amounts of memory.

When calculating covariance, correlation, or cross product, the number of bytes of memory required is at least (P*P*T + P*T)*b, where P is the dimension of the task or number of variables, T is the number of threads, and b is the number of bytes required for each unit of data. If observation is weighted and the method is VSL_SS_METHOD_FAST, then the memory required is at least (P*P*T + P*T + N*P)*b, where N is the number of observations.