Types#

rocSOLVER uses types and enumerations defined by the rocBLAS API. For more information, see the rocBLAS types documentation. Next we present additional types, only used in rocSOLVER, that extend the rocBLAS API.

Additional types#

rocblas_direct#

enum rocblas_direct#

Used to specify the order in which multiple Householder matrices are applied together.

Values:

enumerator rocblas_forward_direction#

Householder matrices applied from the right.

enumerator rocblas_backward_direction#

Householder matrices applied from the left.

rocblas_storev#

enum rocblas_storev#

Used to specify how householder vectors are stored in a matrix of vectors.

Values:

enumerator rocblas_column_wise#

Householder vectors are stored in the columns of a matrix.

enumerator rocblas_row_wise#

Householder vectors are stored in the rows of a matrix.

rocblas_svect#

enum rocblas_svect#

Used to specify how the singular vectors are to be computed and stored.

Values:

enumerator rocblas_svect_all#

The entire associated orthogonal/unitary matrix is computed.

enumerator rocblas_svect_singular#

Only the singular vectors are computed and stored in output array.

enumerator rocblas_svect_overwrite#

Only the singular vectors are computed and overwrite the input matrix.

enumerator rocblas_svect_none#

No singular vectors are computed.

rocblas_evect#

enum rocblas_evect#

Used to specify how the eigenvectors are to be computed.

Values:

enumerator rocblas_evect_original#

Compute eigenvectors for the original symmetric/Hermitian matrix.

enumerator rocblas_evect_tridiagonal#

Compute eigenvectors for the symmetric tridiagonal matrix.

enumerator rocblas_evect_none#

No eigenvectors are computed.

rocblas_workmode#

enum rocblas_workmode#

Used to enable the use of fast algorithms (with out-of-place computations) in some of the routines.

Values:

enumerator rocblas_outofplace#

Out-of-place computations are allowed; this requires extra device memory for workspace.

enumerator rocblas_inplace#

If not enough memory is available, this forces in-place computations.

rocblas_eform#

enum rocblas_eform#

Used to specify the form of the generalized eigenproblem.

Values:

enumerator rocblas_eform_ax#

The problem is \(Ax = \lambda Bx\).

enumerator rocblas_eform_abx#

The problem is \(ABx = \lambda x\).

enumerator rocblas_eform_bax#

The problem is \(BAx = \lambda x\).