Developer Reference

  • 0.10
  • 10/21/2020
  • Public Content
Contents

mkl_sparse_?_gv

Computes the largest/smallest eigenvalues and corresponding eigenvectors of a generalized eigenvalue problem

Syntax

sparse_status_t
mkl_sparse_s_gv
(
char
*which
,
MKL_INT
*pm
,
sparse_matrix_t
A
,
struct
matrix_descr
descrA
,
sparse_matrix_t
B
,
struct
matrix_descr
descrB
,
MKL_INT
k0
,
MKL_INT
*k
,
float
*E
,
float
*X
,
float
*res
);
sparse_status_t
mkl_sparse_d_gv
(
char
*which
,
MKL_INT
*pm
,
sparse_matrix_t
A
,
struct
matrix_descr
descrA
,
sparse_matrix_t
B
,
struct
matrix_descr
descrB
,
MKL_INT
k0
,
MKL_INT
*k
,
double
*E
,
double
*X
,
double
*res
);
Include Files
  • mkl_solvers_ee.h
Description
The
mkl_sparse_?_gv
routine computes the largest/smallest eigenvalues and corresponding eigenvectors of a generalized eigenvalue problem.
Ax = lambda Bx
where
A
is the real symmetric matrix and
B
is the real symmetric positive definite matrix.
Input Parameters
which
Indicates eigenvalues for which to search:
  • which = 'L'
    indicates the largest eigenvalues.
  • which = 'S'
    indicates the smallest eigenvalues.
pm
Array of size 128. This array is used to pass various parameters to Extended Eigensolver routines. See • Extended Eigensolver Input Parameters for Extremal Eigenvalue Problem for a complete description of the parameters and their default values.
A
Handle containing sparse matrix in internal data structure.
descrA
Structure specifying sparse matrix properties.
sparse_matrix_type_t
type
Specifies the type of a sparse matrix:
  • SPARSE_MATRIX_TYPE_GENERAL
    The matrix is processed as-is.
  • SPARSE_MATRIX_TYPE_SYMMETRIC
    The matrix is symmetric (only the requested triangle is processed).
sparse_fill_mode_t
mode
Specifies the triangular matrix part for symmetric, Hermitian, triangular, and block-triangular matrices:
  • SPARSE_FILL_MODE_LOWER
    The lower triangular matrix part is processed.
  • SPARSE_FILL_MODE_UPPER
    The upper triangular matrix part is processed.
sparse_diag_type_t
diag
Specifies the diagonal type for non-general matrices:
  • SPARSE_DIAG_NON_UNIT
    Diagonal elements might not be equal to one.
  • SPARSE_DIAG_UNIT
    Diagonal elements are equal to one
B
Handle containing sparse matrix in internal data structure.
descrB
Structure specifying sparse matrix properties.
sparse_matrix_type_t
type
Specifies the type of a sparse matrix:
  • SPARSE_MATRIX_TYPE_GENERAL
    The matrix is processed as-is.
  • SPARSE_MATRIX_TYPE_SYMMETRIC
    The matrix is symmetric (only the requested triangle is processed).
sparse_fill_mode_t
mode
Specifies the triangular matrix part for symmetric, Hermitian, triangular, and block-triangular matrices:
  • SPARSE_FILL_MODE_LOWER
    The lower triangular matrix part is processed.
  • SPARSE_FILL_MODE_UPPER
    The upper triangular matrix part is processed.
sparse_diag_type_t
diag
Specifies the diagonal type for non-general matrices:
  • SPARSE_DIAG_NON_UNIT
    Diagonal elements might not be equal to one.
  • SPARSE_DIAG_UNIT
    Diagonal elements are equal to one
k0
The desired number of the largest/smallest eigenvalues to find.
Output Parameters
k
Number of eigenvalues found.
E
Array of size
k0
. Contains
k
largest/smallest eigenvalues.
X
Array of size
k0
*Number of columns of matrix A. Contains
k
eigenvectors.
Res
Array of size
k0
. Contains
k
residuals.
Return Values
The function returns a value indicating whether the operation was successful or not, and why.
SPARSE_STATUS_SUCCESS
The operation was successful.
SPARSE_STATUS_NOT_INITIALIZED
The routine encountered an empty handle or matrix array.
SPARSE_STATUS_ALLOC_FAILED
Internal memory allocation failed.
SPARSE_STATUS_INVALID_VALUE
The input parameters contain an invalid value.
SPARSE_STATUS_EXECUTION_FAILED
Execution failed.
SPARSE_STATUS_INTERNAL_ERROR
An error in algorithm implementation occurred.
SPARSE_STATUS_NOT_SUPPORTED
The requested operation is not supported.

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