Developer Reference

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

mkl_?potrf_compact

Computes the Cholesky factorization of a set of symmetric (Hermitian), positive-definite matrices, stored in Compact format (see Compact Format for details).

Syntax

void
mkl_spotrf_compact
(
MKL_LAYOUT
layout
,
MKL_UPLO
uplo
,
MKL_INT
n
,
float
*
ap
,
MKL_INT
ldap
,
MKL_INT
*
info
,
MKL_COMPACT_PACK
format
,
MKL_INT
nm
);
void
mkl_cpotrf_compact
(
MKL_LAYOUT
layout
,
MKL_UPLO
uplo
,
MKL_INT
n
,
float
*
ap
,
MKL_INT
ldap
,
MKL_INT
*
info
,
MKL_COMPACT_PACK
format
,
MKL_INT
nm
);
void
mkl_dpotrf_compact
(
MKL_LAYOUT
layout
,
MKL_UPLO
uplo
,
MKL_INT
n
,
double
*
ap
,
MKL_INT
ldap
,
MKL_INT
*
info
,
MKL_COMPACT_PACK
format
,
MKL_INT
nm
);
void
mkl_zpotrf_compact
(
MKL_LAYOUT
layout
,
MKL_UPLO
uplo
,
MKL_INT
n
,
double
*
ap
,
MKL_INT
ldap
,
MKL_INT
*
info
,
MKL_COMPACT_PACK
format
,
MKL_INT
nm
);
Description
The routine forms the Cholesky factorization of a set of symmetric, positive definite (or, for complex data, Hermitian, positive-definite),
n
x
n
matrices A
c
, stored in Compact format, as:
  • A
    c
    = U
    c
    T
    *U
    c
    (for real data), A
    c
    = U
    c
    H
    *U
    c
    (for complex data), if uplo = MKL_UPPER
  • A
    c
    = L
    c
    *L
    c
    T
    (for real data), A
    c
    = L
    c
    *L
    c
    H
    (for complex data), if uplo = MKL_LOWER
where L
c
is a lower triangular matrix, and U
c
is upper triangular. The factorization (output) data will also be stored in Compact format.
Before calling this routine, call
mkl_?gepack_compact
to store the matrices in the Compact format.
Compact routines have some limitations; see Numerical Limitations.
Input Parameters
layout
Specifies whether two-dimensional array storage is row-major (
MKL_ROW_MAJOR
) or column-major (
MKL_COL_MAJOR
).
uplo
Must be
MKL_UPPER
or
MKL_LOWER
Indicates whether the upper or lower triangular part of A
c
has been stored and will be factored.
If uplo = MKL_UPPER, the upper triangular part of A
c
is stored, and the strictly lower triangular part of A
c
is not referenced.
If uplo = MKL_LOWER, the lower triangular part of A
c
is stored, and the strictly upper triangular part of A
c
is not referenced.
n
The order of A
c
; n >= 0.
ldap
Column stride (column-major layout) or row stride (row-major layout) of A
c
.
ap
Points to the beginning of the
nm
A
c
matrices. On entry,
ap
contains either the upper or the lower triangular part of A
c
(see uplo).
format
Specifies the format of the compact matrices. See Compact Format or mkl_get_format_compact for details.
nm
Total number of matrices stored in Compact format;
nm
>= 0.
Application Notes:
Before calling this routine,
mkl_?gepack_compact
must be called. After calling this routine,
mkl_?geunpack_compact
should be called, unless another compact routine will be called for the Compact format matrices.
The total number of floating-point operations is approximately
nm
* (1/3)
n
3
for real flavors and
nm
* (4/3)
n
3
for complex flavors.
Output Parameters
ap
The upper or lower triangular part of A
c
, stored in Compact format in
ap
, is overwritten by its Cholesky factor U
c
or L
c
(as specified by uplo).
ap
now points to the beginning of this set of factors, stored in Compact format.
info
The parameter is not currently used in this routine. It is reserved for the future use.

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