.. meta:: :description: rocSOLVER LAPACK-like functions API documentation :keywords: rocSOLVER, ROCm, API, documentation, LAPACK-like functions .. _lapack-like: ******************************** rocSOLVER LAPACK-like functions ******************************** Other LAPACK-like routines are provided by rocSOLVER. They are divided into the following subcategories: * :ref:`liketriangular`: Based on Gaussian elimination. * :ref:`likelinears`: Based on triangular factorizations. * :ref:`likeeigens`: Eigenproblems for symmetric matrices. * :ref:`likesvds`: Singular values and related problems for general matrices. .. note:: The API descriptions use the following notations: * ``i``, ``j``, and ``k`` are used as general purpose indices. In some legacy LAPACK APIs, ``k`` can be a parameter indicating some problem or matrix dimension. * Depending on the context, when it is necessary to index rows, columns, and blocks or submatrices, ``i`` is assigned to rows, ``j`` to columns, and ``k`` to blocks. ``l`` is always used to index matrices or problems in a batch. * ``x[i]`` stands for the i-th element of vector x, while ``A[i,j]`` represents the element in the i-th row and j-th column of matrix ``A``. Indices are 1-based, for instance, ``x[1]`` is the first element of ``x``. * To identify a block in a matrix or a matrix in the batch, ``k`` and ``l`` are used as sub-indices * ``x_i`` :math:`=x_i`. Both notations are used, :math:`x_i` when displaying mathematical equations and ``x_i`` in the text describing the function parameters. * If ``X`` is a real vector or matrix, :math:`X^T` indicates its transpose. If ``X`` is complex, then :math:`X^H` represents its conjugate transpose. When ``X`` could be real or complex, the descriptions use ``X'`` to indicate ``X`` transposed or ``X`` conjugate transposed, accordingly. * When a matrix ``A`` is formed as the product of several matrices, the following notation is used: ``A=M(1)M(2)...M(t)``. .. _liketriangular: Triangular factorizations =========================== .. contents:: List of LAPACK-like triangular factorizations :local: :backlinks: top .. _getf2_npvt: rocsolver_getf2_npvt() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgetf2_npvt_64 :outline: .. doxygenfunction:: rocsolver_cgetf2_npvt_64 :outline: .. doxygenfunction:: rocsolver_dgetf2_npvt_64 :outline: .. doxygenfunction:: rocsolver_sgetf2_npvt_64 :outline: .. doxygenfunction:: rocsolver_zgetf2_npvt :outline: .. doxygenfunction:: rocsolver_cgetf2_npvt :outline: .. doxygenfunction:: rocsolver_dgetf2_npvt :outline: .. doxygenfunction:: rocsolver_sgetf2_npvt rocsolver_getf2_npvt_batched() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgetf2_npvt_batched_64 :outline: .. doxygenfunction:: rocsolver_cgetf2_npvt_batched_64 :outline: .. doxygenfunction:: rocsolver_dgetf2_npvt_batched_64 :outline: .. doxygenfunction:: rocsolver_sgetf2_npvt_batched_64 :outline: .. doxygenfunction:: rocsolver_zgetf2_npvt_batched :outline: .. doxygenfunction:: rocsolver_cgetf2_npvt_batched :outline: .. doxygenfunction:: rocsolver_dgetf2_npvt_batched :outline: .. doxygenfunction:: rocsolver_sgetf2_npvt_batched rocsolver_getf2_npvt_strided_batched() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgetf2_npvt_strided_batched_64 :outline: .. doxygenfunction:: rocsolver_cgetf2_npvt_strided_batched_64 :outline: .. doxygenfunction:: rocsolver_dgetf2_npvt_strided_batched_64 :outline: .. doxygenfunction:: rocsolver_sgetf2_npvt_strided_batched_64 :outline: .. doxygenfunction:: rocsolver_zgetf2_npvt_strided_batched :outline: .. doxygenfunction:: rocsolver_cgetf2_npvt_strided_batched :outline: .. doxygenfunction:: rocsolver_dgetf2_npvt_strided_batched :outline: .. doxygenfunction:: rocsolver_sgetf2_npvt_strided_batched .. _getrf_npvt: rocsolver_getrf_npvt() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgetrf_npvt_64 :outline: .. doxygenfunction:: rocsolver_cgetrf_npvt_64 :outline: .. doxygenfunction:: rocsolver_dgetrf_npvt_64 :outline: .. doxygenfunction:: rocsolver_sgetrf_npvt_64 :outline: .. doxygenfunction:: rocsolver_zgetrf_npvt :outline: .. doxygenfunction:: rocsolver_cgetrf_npvt :outline: .. doxygenfunction:: rocsolver_dgetrf_npvt :outline: .. doxygenfunction:: rocsolver_sgetrf_npvt rocsolver_getrf_npvt_batched() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgetrf_npvt_batched_64 :outline: .. doxygenfunction:: rocsolver_cgetrf_npvt_batched_64 :outline: .. doxygenfunction:: rocsolver_dgetrf_npvt_batched_64 :outline: .. doxygenfunction:: rocsolver_sgetrf_npvt_batched_64 :outline: .. doxygenfunction:: rocsolver_zgetrf_npvt_batched :outline: .. doxygenfunction:: rocsolver_cgetrf_npvt_batched :outline: .. doxygenfunction:: rocsolver_dgetrf_npvt_batched :outline: .. doxygenfunction:: rocsolver_sgetrf_npvt_batched rocsolver_getrf_npvt_strided_batched() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgetrf_npvt_strided_batched_64 :outline: .. doxygenfunction:: rocsolver_cgetrf_npvt_strided_batched_64 :outline: .. doxygenfunction:: rocsolver_dgetrf_npvt_strided_batched_64 :outline: .. doxygenfunction:: rocsolver_sgetrf_npvt_strided_batched_64 :outline: .. doxygenfunction:: rocsolver_zgetrf_npvt_strided_batched :outline: .. doxygenfunction:: rocsolver_cgetrf_npvt_strided_batched :outline: .. doxygenfunction:: rocsolver_dgetrf_npvt_strided_batched :outline: .. doxygenfunction:: rocsolver_sgetrf_npvt_strided_batched .. _geblttrf_npvt: rocsolver_geblttrf_npvt() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgeblttrf_npvt :outline: .. doxygenfunction:: rocsolver_cgeblttrf_npvt :outline: .. doxygenfunction:: rocsolver_dgeblttrf_npvt :outline: .. doxygenfunction:: rocsolver_sgeblttrf_npvt rocsolver_geblttrf_npvt_batched() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgeblttrf_npvt_batched :outline: .. doxygenfunction:: rocsolver_cgeblttrf_npvt_batched :outline: .. doxygenfunction:: rocsolver_dgeblttrf_npvt_batched :outline: .. doxygenfunction:: rocsolver_sgeblttrf_npvt_batched rocsolver_geblttrf_npvt_strided_batched() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgeblttrf_npvt_strided_batched :outline: .. doxygenfunction:: rocsolver_cgeblttrf_npvt_strided_batched :outline: .. doxygenfunction:: rocsolver_dgeblttrf_npvt_strided_batched :outline: .. doxygenfunction:: rocsolver_sgeblttrf_npvt_strided_batched rocsolver_geblttrf_npvt_interleaved_batched() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgeblttrf_npvt_interleaved_batched :outline: .. doxygenfunction:: rocsolver_cgeblttrf_npvt_interleaved_batched :outline: .. doxygenfunction:: rocsolver_dgeblttrf_npvt_interleaved_batched :outline: .. doxygenfunction:: rocsolver_sgeblttrf_npvt_interleaved_batched .. _likelinears: Linear-systems solvers ======================== .. contents:: List of LAPACK-like linear solvers :local: :backlinks: top .. _getri_npvt: rocsolver_getri_npvt() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgetri_npvt :outline: .. doxygenfunction:: rocsolver_cgetri_npvt :outline: .. doxygenfunction:: rocsolver_dgetri_npvt :outline: .. doxygenfunction:: rocsolver_sgetri_npvt rocsolver_getri_npvt_batched() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgetri_npvt_batched :outline: .. doxygenfunction:: rocsolver_cgetri_npvt_batched :outline: .. doxygenfunction:: rocsolver_dgetri_npvt_batched :outline: .. doxygenfunction:: rocsolver_sgetri_npvt_batched rocsolver_getri_npvt_strided_batched() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgetri_npvt_strided_batched :outline: .. doxygenfunction:: rocsolver_cgetri_npvt_strided_batched :outline: .. doxygenfunction:: rocsolver_dgetri_npvt_strided_batched :outline: .. doxygenfunction:: rocsolver_sgetri_npvt_strided_batched .. _getri_outofplace: rocsolver_getri_outofplace() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgetri_outofplace :outline: .. doxygenfunction:: rocsolver_cgetri_outofplace :outline: .. doxygenfunction:: rocsolver_dgetri_outofplace :outline: .. doxygenfunction:: rocsolver_sgetri_outofplace rocsolver_getri_outofplace_batched() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgetri_outofplace_batched :outline: .. doxygenfunction:: rocsolver_cgetri_outofplace_batched :outline: .. doxygenfunction:: rocsolver_dgetri_outofplace_batched :outline: .. doxygenfunction:: rocsolver_sgetri_outofplace_batched rocsolver_getri_outofplace_strided_batched() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgetri_outofplace_strided_batched :outline: .. doxygenfunction:: rocsolver_cgetri_outofplace_strided_batched :outline: .. doxygenfunction:: rocsolver_dgetri_outofplace_strided_batched :outline: .. doxygenfunction:: rocsolver_sgetri_outofplace_strided_batched .. _getri_npvt_outofplace: rocsolver_getri_npvt_outofplace() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgetri_npvt_outofplace :outline: .. doxygenfunction:: rocsolver_cgetri_npvt_outofplace :outline: .. doxygenfunction:: rocsolver_dgetri_npvt_outofplace :outline: .. doxygenfunction:: rocsolver_sgetri_npvt_outofplace rocsolver_getri_npvt_outofplace_batched() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgetri_npvt_outofplace_batched :outline: .. doxygenfunction:: rocsolver_cgetri_npvt_outofplace_batched :outline: .. doxygenfunction:: rocsolver_dgetri_npvt_outofplace_batched :outline: .. doxygenfunction:: rocsolver_sgetri_npvt_outofplace_batched rocsolver_getri_npvt_outofplace_strided_batched() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgetri_npvt_outofplace_strided_batched :outline: .. doxygenfunction:: rocsolver_cgetri_npvt_outofplace_strided_batched :outline: .. doxygenfunction:: rocsolver_dgetri_npvt_outofplace_strided_batched :outline: .. doxygenfunction:: rocsolver_sgetri_npvt_outofplace_strided_batched .. _geblttrs_npvt: rocsolver_geblttrs_npvt() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgeblttrs_npvt :outline: .. doxygenfunction:: rocsolver_cgeblttrs_npvt :outline: .. doxygenfunction:: rocsolver_dgeblttrs_npvt :outline: .. doxygenfunction:: rocsolver_sgeblttrs_npvt rocsolver_geblttrs_npvt_batched() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgeblttrs_npvt_batched :outline: .. doxygenfunction:: rocsolver_cgeblttrs_npvt_batched :outline: .. doxygenfunction:: rocsolver_dgeblttrs_npvt_batched :outline: .. doxygenfunction:: rocsolver_sgeblttrs_npvt_batched rocsolver_geblttrs_npvt_strided_batched() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgeblttrs_npvt_strided_batched :outline: .. doxygenfunction:: rocsolver_cgeblttrs_npvt_strided_batched :outline: .. doxygenfunction:: rocsolver_dgeblttrs_npvt_strided_batched :outline: .. doxygenfunction:: rocsolver_sgeblttrs_npvt_strided_batched rocsolver_geblttrs_npvt_interleaved_batched() -------------------------------------------------------- .. doxygenfunction:: rocsolver_zgeblttrs_npvt_interleaved_batched :outline: .. doxygenfunction:: rocsolver_cgeblttrs_npvt_interleaved_batched :outline: .. doxygenfunction:: rocsolver_dgeblttrs_npvt_interleaved_batched :outline: .. doxygenfunction:: rocsolver_sgeblttrs_npvt_interleaved_batched .. _likeeigens: Symmetric eigensolvers ================================ .. contents:: List of LAPACK-like symmetric eigensolvers :local: :backlinks: top .. _syevj: rocsolver_syevj() --------------------------------------------------- .. doxygenfunction:: rocsolver_dsyevj :outline: .. doxygenfunction:: rocsolver_ssyevj rocsolver_syevj_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_dsyevj_batched :outline: .. doxygenfunction:: rocsolver_ssyevj_batched rocsolver_syevj_strided_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_dsyevj_strided_batched :outline: .. doxygenfunction:: rocsolver_ssyevj_strided_batched .. _heevj: rocsolver_heevj() --------------------------------------------------- .. doxygenfunction:: rocsolver_zheevj :outline: .. doxygenfunction:: rocsolver_cheevj rocsolver_heevj_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_zheevj_batched :outline: .. doxygenfunction:: rocsolver_cheevj_batched rocsolver_heevj_strided_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_zheevj_strided_batched :outline: .. doxygenfunction:: rocsolver_cheevj_strided_batched .. _sygvj: rocsolver_sygvj() --------------------------------------------------- .. doxygenfunction:: rocsolver_dsygvj :outline: .. doxygenfunction:: rocsolver_ssygvj rocsolver_sygvj_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_dsygvj_batched :outline: .. doxygenfunction:: rocsolver_ssygvj_batched rocsolver_sygvj_strided_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_dsygvj_strided_batched :outline: .. doxygenfunction:: rocsolver_ssygvj_strided_batched .. _hegvj: rocsolver_hegvj() --------------------------------------------------- .. doxygenfunction:: rocsolver_zhegvj :outline: .. doxygenfunction:: rocsolver_chegvj rocsolver_hegvj_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_zhegvj_batched :outline: .. doxygenfunction:: rocsolver_chegvj_batched rocsolver_hegvj_strided_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_zhegvj_strided_batched :outline: .. doxygenfunction:: rocsolver_chegvj_strided_batched .. _syevdj: rocsolver_syevdj() --------------------------------------------------- .. doxygenfunction:: rocsolver_dsyevdj :outline: .. doxygenfunction:: rocsolver_ssyevdj rocsolver_syevdj_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_dsyevdj_batched :outline: .. doxygenfunction:: rocsolver_ssyevdj_batched rocsolver_syevdj_strided_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_dsyevdj_strided_batched :outline: .. doxygenfunction:: rocsolver_ssyevdj_strided_batched .. _heevdj: rocsolver_heevdj() --------------------------------------------------- .. doxygenfunction:: rocsolver_zheevdj :outline: .. doxygenfunction:: rocsolver_cheevdj rocsolver_heevdj_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_zheevdj_batched :outline: .. doxygenfunction:: rocsolver_cheevdj_batched rocsolver_heevdj_strided_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_zheevdj_strided_batched :outline: .. doxygenfunction:: rocsolver_cheevdj_strided_batched .. _sygvdj: rocsolver_sygvdj() --------------------------------------------------- .. doxygenfunction:: rocsolver_dsygvdj :outline: .. doxygenfunction:: rocsolver_ssygvdj rocsolver_sygvdj_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_dsygvdj_batched :outline: .. doxygenfunction:: rocsolver_ssygvdj_batched rocsolver_sygvdj_strided_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_dsygvdj_strided_batched :outline: .. doxygenfunction:: rocsolver_ssygvdj_strided_batched .. _hegvdj: rocsolver_hegvdj() --------------------------------------------------- .. doxygenfunction:: rocsolver_zhegvdj :outline: .. doxygenfunction:: rocsolver_chegvdj rocsolver_hegvdj_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_zhegvdj_batched :outline: .. doxygenfunction:: rocsolver_chegvdj_batched rocsolver_hegvdj_strided_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_zhegvdj_strided_batched :outline: .. doxygenfunction:: rocsolver_chegvdj_strided_batched .. _syevdx: rocsolver_syevdx() --------------------------------------------------- .. doxygenfunction:: rocsolver_dsyevdx :outline: .. doxygenfunction:: rocsolver_ssyevdx rocsolver_syevdx_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_dsyevdx_batched :outline: .. doxygenfunction:: rocsolver_ssyevdx_batched rocsolver_syevdx_strided_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_dsyevdx_strided_batched :outline: .. doxygenfunction:: rocsolver_ssyevdx_strided_batched .. _heevdx: rocsolver_heevdx() --------------------------------------------------- .. doxygenfunction:: rocsolver_zheevdx :outline: .. doxygenfunction:: rocsolver_cheevdx rocsolver_heevdx_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_zheevdx_batched :outline: .. doxygenfunction:: rocsolver_cheevdx_batched rocsolver_heevdx_strided_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_zheevdx_strided_batched :outline: .. doxygenfunction:: rocsolver_cheevdx_strided_batched .. _sygvdx: rocsolver_sygvdx() --------------------------------------------------- .. doxygenfunction:: rocsolver_dsygvdx :outline: .. doxygenfunction:: rocsolver_ssygvdx rocsolver_sygvdx_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_dsygvdx_batched :outline: .. doxygenfunction:: rocsolver_ssygvdx_batched rocsolver_sygvdx_strided_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_dsygvdx_strided_batched :outline: .. doxygenfunction:: rocsolver_ssygvdx_strided_batched .. _hegvdx: rocsolver_hegvdx() --------------------------------------------------- .. doxygenfunction:: rocsolver_zhegvdx :outline: .. doxygenfunction:: rocsolver_chegvdx rocsolver_hegvdx_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_zhegvdx_batched :outline: .. doxygenfunction:: rocsolver_chegvdx_batched rocsolver_hegvdx_strided_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_zhegvdx_strided_batched :outline: .. doxygenfunction:: rocsolver_chegvdx_strided_batched .. _likesvds: Singular value decomposition ================================ .. contents:: List of LAPACK-like SVD-related functions :local: :backlinks: top .. _gesvdj: rocsolver_gesvdj() --------------------------------------------------- .. doxygenfunction:: rocsolver_zgesvdj :outline: .. doxygenfunction:: rocsolver_cgesvdj :outline: .. doxygenfunction:: rocsolver_dgesvdj :outline: .. doxygenfunction:: rocsolver_sgesvdj rocsolver_gesvdj_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_zgesvdj_batched :outline: .. doxygenfunction:: rocsolver_cgesvdj_batched :outline: .. doxygenfunction:: rocsolver_dgesvdj_batched :outline: .. doxygenfunction:: rocsolver_sgesvdj_batched rocsolver_gesvdj_strided_batched() --------------------------------------------------- .. doxygenfunction:: rocsolver_zgesvdj_strided_batched :outline: .. doxygenfunction:: rocsolver_cgesvdj_strided_batched :outline: .. doxygenfunction:: rocsolver_dgesvdj_strided_batched :outline: .. doxygenfunction:: rocsolver_sgesvdj_strided_batched