Skip to main content
`Ctrl`+`K`

# Introduction to the rocSOLVER API

The following tables summarize the functionality implemented for the different supported precisions in rocSOLVER. All LAPACK and LAPACK-like main functions include `_batched` and `_strided_batched` versions. For a complete description of the listed routines, see the corresponding reference guides.

Note

The rocSOLVER library is in the early stages of active development, with new features being continuously added and documented.

## LAPACK auxiliary functions

Table 1 Vector and matrix manipulations
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_lacgv | x | x | x | x
rocsolver_laswp | x | x | x | x
rocsolver_lauum | x | x | x | x

Table 2 Householder reflections
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_larfg | x | x | x | x
rocsolver_larf | x | x | x | x
rocsolver_larft | x | x | x | x
rocsolver_larfb | x | x | x | x

Table 3 Givens (plane) rotations
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_lasr | x | x | x | x

Table 4 Bidiagonal forms
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_labrd | x | x | x | x
rocsolver_bdsqr | x | x | x | x
rocsolver_bdsvdx | x | x |  |

Table 5 Tridiagonal forms
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_sterf | x | x |  |
rocsolver_stebz | x | x |  |
rocsolver_latrd | x | x | x | x
rocsolver_steqr | x | x | x | x
rocsolver_stedc | x | x | x | x
rocsolver_stein | x | x | x | x

Table 6 Symmetric matrices
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_lasyf | x | x | x | x

Table 7 Orthonormal matrices
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_org2r | x | x |  |
rocsolver_orgqr | x | x |  |
rocsolver_orgl2 | x | x |  |
rocsolver_orglq | x | x |  |
rocsolver_org2l | x | x |  |
rocsolver_orgql | x | x |  |
rocsolver_orgbr | x | x |  |
rocsolver_orgtr | x | x |  |
rocsolver_orm2r | x | x |  |
rocsolver_ormqr | x | x |  |
rocsolver_orml2 | x | x |  |
rocsolver_ormlq | x | x |  |
rocsolver_orm2l | x | x |  |
rocsolver_ormql | x | x |  |
rocsolver_ormbr | x | x |  |
rocsolver_ormtr | x | x |  |

Table 8 Unitary matrices
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_ung2r |  |  | x | x
rocsolver_ungqr |  |  | x | x
rocsolver_ungl2 |  |  | x | x
rocsolver_unglq |  |  | x | x
rocsolver_ung2l |  |  | x | x
rocsolver_ungql |  |  | x | x
rocsolver_ungbr |  |  | x | x
rocsolver_ungtr |  |  | x | x
rocsolver_unm2r |  |  | x | x
rocsolver_unmqr |  |  | x | x
rocsolver_unml2 |  |  | x | x
rocsolver_unmlq |  |  | x | x
rocsolver_unm2l |  |  | x | x
rocsolver_unmql |  |  | x | x
rocsolver_unmbr |  |  | x | x
rocsolver_unmtr |  |  | x | x

## LAPACK main functions

Table 9 Triangular factorizations
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_potf2 | x | x | x | x
rocsolver_potrf | x | x | x | x
rocsolver_getf2 | x | x | x | x
rocsolver_getrf | x | x | x | x
rocsolver_sytf2 | x | x | x | x
rocsolver_sytrf | x | x | x | x

Table 10 Orthogonal factorizations
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_geqr2 | x | x | x | x
rocsolver_geqrf | x | x | x | x
rocsolver_gerq2 | x | x | x | x
rocsolver_gerqf | x | x | x | x
rocsolver_gelq2 | x | x | x | x
rocsolver_gelqf | x | x | x | x
rocsolver_geql2 | x | x | x | x
rocsolver_geqlf | x | x | x | x

Table 11 Problem and matrix reductions
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_sytd2 | x | x |  |
rocsolver_sytrd | x | x |  |
rocsolver_sygs2 | x | x |  |
rocsolver_sygst | x | x |  |
rocsolver_hetd2 |  |  | x | x
rocsolver_hetrd |  |  | x | x
rocsolver_hegs2 |  |  | x | x
rocsolver_hegst |  |  | x | x
rocsolver_gebd2 | x | x | x | x
rocsolver_gebrd | x | x | x | x

Table 12 Linear-systems solvers
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_trtri | x | x | x | x
rocsolver_getri | x | x | x | x
rocsolver_getrs | x | x | x | x
rocsolver_gesv | x | x | x | x
rocsolver_potri | x | x | x | x
rocsolver_potrs | x | x | x | x
rocsolver_posv | x | x | x | x

Table 13 Least-square solvers
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_gels | x | x | x | x

Table 14 Symmetric eigensolvers
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_syev | x | x |  |
rocsolver_syevd | x | x |  |
rocsolver_syevx | x | x |  |
rocsolver_sygv | x | x |  |
rocsolver_sygvd | x | x |  |
rocsolver_sygvx | x | x |  |
rocsolver_heev |  |  | x | x
rocsolver_heevd |  |  | x | x
rocsolver_heevx |  |  | x | x
rocsolver_hegv |  |  | x | x
rocsolver_hegvd |  |  | x | x
rocsolver_hegvx |  |  | x | x

Table 15 Singular value decomposition
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_gesvd | x | x | x | x
rocsolver_gesvdx | x | x | x | x

## LAPACK-like functions

Table 16 Triangular factorizations
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_getf2_npvt | x | x | x | x
rocsolver_getrf_npvt | x | x | x | x
rocsolver_geblttrf_npvt | x | x | x | x

Table 17 Linear-systems solvers
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_getri_npvt | x | x | x | x
rocsolver_getri_outofplace | x | x | x | x
rocsolver_getri_npvt_outofplace | x | x | x | x
rocsolver_geblttrs_npvt | x | x | x | x

Table 18 Symmetric eigensolvers
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_syevj | x | x |  |
rocsolver_sygvj | x | x |  |
rocsolver_heevj |  |  | x | x
rocsolver_hegvj |  |  | x | x
rocsolver_syevdj | x | x |  |
rocsolver_sygvdj | x | x |  |
rocsolver_heevdj |  |  | x | x
rocsolver_hegvdj |  |  | x | x
rocsolver_syevdx | x | x |  |
rocsolver_sygvdx | x | x |  |
rocsolver_heevdx |  |  | x | x
rocsolver_hegvdx |  |  | x | x

Table 19 Singular value decomposition
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_gesvdj | x | x | x | x

## Refactorization and direct solvers

Table 20 Triangular refactorization
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_csrrf_sumlu | x | x |  |
rocsolver_csrrf_splitlu | x | x |  |
rocsolver_csrrf_refactlu | x | x |  |
rocsolver_csrrf_refactchol | x | x |  |

Table 21 Direct solvers
Function | single | double | single complex | double complex
--- | --- | --- | --- | ---
rocsolver_csrrf_solve | x | x |  |