Developer Reference

  • 2021.1
  • 12/04/2020
  • Public Content
Contents

?syconv

Converts a symmetric matrix given by a triangular matrix factorization into two matrices and vice versa.

Syntax

lapack_int
LAPACKE_ssyconv
(
int
matrix_layout
,
char
uplo
,
char
way
,
lapack_int
n
,
float
*
a
,
lapack_int
lda
,
const
lapack_int
*
ipiv
,
float
*
e
);
lapack_int
LAPACKE_dsyconv
(
int
matrix_layout
,
char
uplo
,
char
way
,
lapack_int
n
,
double
*
a
,
lapack_int
lda
,
const
lapack_int
*
ipiv
,
double
*
e
);
lapack_int
LAPACKE_csyconv
(
int
matrix_layout
,
char
uplo
,
char
way
,
lapack_int
n
,
lapack_complex_float
*
a
,
lapack_int
lda
,
const
lapack_int
*
ipiv
,
lapack_complex_float
*
e
);
lapack_int
LAPACKE_zsyconv
(
int
matrix_layout
,
char
uplo
,
char
way
,
lapack_int
n
,
lapack_complex_double
*
a
,
lapack_int
lda
,
const
lapack_int
*
ipiv
,
lapack_complex_double
*
e
);
Include Files
  • mkl.h
Description
The routine converts matrix
A
, which results from a triangular matrix factorization, into matrices
L
and
D
and vice versa. The routine returns non-diagonalized elements of
D
and applies or reverses permutation done with the triangular matrix factorization.
Input Parameters
matrix_layout
Specifies whether matrix storage layout is row major (
LAPACK_ROW_MAJOR
) or column major (
LAPACK_COL_MAJOR
).
uplo
Must be
'U'
or
'L'
.
Indicates whether the details of the factorization are stored as an upper or lower triangular matrix:
If
uplo
=
'U'
: the upper triangular,
A
=
U*D*U
T
.
If
uplo
=
'L'
: the lower triangular,
A
=
L*D*L
T
.
way
Must be
'C'
or
'R'
.
n
The order of matrix
A
;
n
0.
a
Array of size
max(1,
lda
*
n
)
.
The block diagonal matrix
D
and the multipliers used to obtain the factor
U
or
L
as computed by
?sytrf
.
lda
The leading dimension of
a
;
lda
max(1,
n
)
.
ipiv
Array, size at least
max(1,
n
)
.
Details of the interchanges and the block structure of
D
, as returned by
?sytrf
.
Output Parameters
e
Array of size
max(1,
n
)
containing the superdiagonal/subdiagonal of the symmetric 1-by-1 or 2-by-2 block diagonal matrix
D
in
L*D*L
T
.
Return Values
info
If
info
= 0
, the execution is successful.
If
info
< 0
, the
i
-th parameter had an illegal value.
If
info
= -1011
, memory allocation error occurred.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.