.. meta:: :description: rocSOLVER LAPACK auxiliary functions API documentation :keywords: rocSOLVER, ROCm, API, documentation, LAPACK, auxiliary functions .. _rocsolver_auxiliary_functions: ************************************* rocSOLVER LAPACK auxiliary functions ************************************* These are functions that support more :ref:`advanced LAPACK routines `. The auxiliary functions are divided into the following categories: * :ref:`vecmat`: Basic operations with vectors and matrices that are not part of the BLAS standard. * :ref:`normcon`: Different matrix norms and condition number estimators. * :ref:`householder`: Generation and application of Householder matrices. * :ref:`rotations`: Generation and application of Givens (plane) rotations. * :ref:`bidiag`: Computations specialized in bidiagonal matrices. * :ref:`tridiag`: Computations specialized in tridiagonal matrices. * :ref:`symmetric`: Computations specialized in symmetric matrices. * :ref:`orthonormal`: Generation and application of orthonormal matrices. * :ref:`unitary`: Generation and application of unitary 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)``. .. _vecmat: Vector and matrix manipulations ================================== .. contents:: List of vector and matrix manipulations :local: :backlinks: top .. _lacgv: rocsolver_lacgv() --------------------------------------- .. doxygenfunction:: rocsolver_zlacgv_64 :outline: .. doxygenfunction:: rocsolver_clacgv_64 :outline: .. doxygenfunction:: rocsolver_zlacgv :outline: .. doxygenfunction:: rocsolver_clacgv .. _laswp: rocsolver_laswp() --------------------------------------- .. doxygenfunction:: rocsolver_zlaswp :outline: .. doxygenfunction:: rocsolver_claswp :outline: .. doxygenfunction:: rocsolver_dlaswp :outline: .. doxygenfunction:: rocsolver_slaswp .. _lauum: rocsolver_lauum() --------------------------------------- .. doxygenfunction:: rocsolver_zlauum :outline: .. doxygenfunction:: rocsolver_clauum :outline: .. doxygenfunction:: rocsolver_dlauum :outline: .. doxygenfunction:: rocsolver_slauum .. _normcon: Norms and condition numbers ================================== .. contents:: List of norms and condition number estimators :local: :backlinks: top .. _lange: rocsolver_lange() --------------------------------------- .. doxygenfunction:: rocsolver_zlange_64 :outline: .. doxygenfunction:: rocsolver_clange_64 :outline: .. doxygenfunction:: rocsolver_dlange_64 :outline: .. doxygenfunction:: rocsolver_slange_64 :outline: .. doxygenfunction:: rocsolver_zlange :outline: .. doxygenfunction:: rocsolver_clange :outline: .. doxygenfunction:: rocsolver_dlange :outline: .. doxygenfunction:: rocsolver_slange .. _gecon: rocsolver_gecon() --------------------------------------- .. doxygenfunction:: rocsolver_zgecon_64 :outline: .. doxygenfunction:: rocsolver_cgecon_64 :outline: .. doxygenfunction:: rocsolver_dgecon_64 :outline: .. doxygenfunction:: rocsolver_sgecon_64 :outline: .. doxygenfunction:: rocsolver_zgecon :outline: .. doxygenfunction:: rocsolver_cgecon :outline: .. doxygenfunction:: rocsolver_dgecon :outline: .. doxygenfunction:: rocsolver_sgecon .. _householder: Householder reflections ================================== .. contents:: List of Householder functions :local: :backlinks: top .. _larfg: rocsolver_larfg() --------------------------------------- .. doxygenfunction:: rocsolver_zlarfg_64 :outline: .. doxygenfunction:: rocsolver_clarfg_64 :outline: .. doxygenfunction:: rocsolver_dlarfg_64 :outline: .. doxygenfunction:: rocsolver_slarfg_64 :outline: .. doxygenfunction:: rocsolver_zlarfg :outline: .. doxygenfunction:: rocsolver_clarfg :outline: .. doxygenfunction:: rocsolver_dlarfg :outline: .. doxygenfunction:: rocsolver_slarfg .. _larft: rocsolver_larft() --------------------------------------- .. doxygenfunction:: rocsolver_zlarft :outline: .. doxygenfunction:: rocsolver_clarft :outline: .. doxygenfunction:: rocsolver_dlarft :outline: .. doxygenfunction:: rocsolver_slarft .. _larf: rocsolver_larf() --------------------------------------- .. doxygenfunction:: rocsolver_zlarf_64 :outline: .. doxygenfunction:: rocsolver_clarf_64 :outline: .. doxygenfunction:: rocsolver_dlarf_64 :outline: .. doxygenfunction:: rocsolver_slarf_64 :outline: .. doxygenfunction:: rocsolver_zlarf :outline: .. doxygenfunction:: rocsolver_clarf :outline: .. doxygenfunction:: rocsolver_dlarf :outline: .. doxygenfunction:: rocsolver_slarf .. _larfb: rocsolver_larfb() --------------------------------------- .. doxygenfunction:: rocsolver_zlarfb :outline: .. doxygenfunction:: rocsolver_clarfb :outline: .. doxygenfunction:: rocsolver_dlarfb :outline: .. doxygenfunction:: rocsolver_slarfb .. _rotations: Givens (plane) rotations ================================== .. contents:: List of plane rotations functions :local: :backlinks: top .. _lasr: rocsolver_lasr() --------------------------------------- .. doxygenfunction:: rocsolver_zlasr :outline: .. doxygenfunction:: rocsolver_clasr :outline: .. doxygenfunction:: rocsolver_dlasr :outline: .. doxygenfunction:: rocsolver_slasr .. _bidiag: Bidiagonal forms ================================== .. contents:: List of functions for bidiagonal forms :local: :backlinks: top .. _labrd: rocsolver_labrd() --------------------------------------- .. doxygenfunction:: rocsolver_zlabrd :outline: .. doxygenfunction:: rocsolver_clabrd :outline: .. doxygenfunction:: rocsolver_dlabrd :outline: .. doxygenfunction:: rocsolver_slabrd .. _bdsqr: rocsolver_bdsqr() --------------------------------------- .. doxygenfunction:: rocsolver_zbdsqr :outline: .. doxygenfunction:: rocsolver_cbdsqr :outline: .. doxygenfunction:: rocsolver_dbdsqr :outline: .. doxygenfunction:: rocsolver_sbdsqr .. _bdsvdx: rocsolver_bdsvdx() --------------------------------------- .. doxygenfunction:: rocsolver_dbdsvdx :outline: .. doxygenfunction:: rocsolver_sbdsvdx .. _tridiag: Tridiagonal forms ================================== .. contents:: List of functions for tridiagonal forms :local: :backlinks: top .. _latrd: rocsolver_latrd() --------------------------------------- .. doxygenfunction:: rocsolver_zlatrd :outline: .. doxygenfunction:: rocsolver_clatrd :outline: .. doxygenfunction:: rocsolver_dlatrd :outline: .. doxygenfunction:: rocsolver_slatrd .. _sterf: rocsolver_sterf() --------------------------------------- .. doxygenfunction:: rocsolver_dsterf :outline: .. doxygenfunction:: rocsolver_ssterf .. _stebz: rocsolver_stebz() --------------------------------------- .. doxygenfunction:: rocsolver_dstebz :outline: .. doxygenfunction:: rocsolver_sstebz .. _steqr: rocsolver_steqr() --------------------------------------- .. doxygenfunction:: rocsolver_zsteqr :outline: .. doxygenfunction:: rocsolver_csteqr :outline: .. doxygenfunction:: rocsolver_dsteqr :outline: .. doxygenfunction:: rocsolver_ssteqr .. _stedc: rocsolver_stedc() --------------------------------------- .. doxygenfunction:: rocsolver_zstedc :outline: .. doxygenfunction:: rocsolver_cstedc :outline: .. doxygenfunction:: rocsolver_dstedc :outline: .. doxygenfunction:: rocsolver_sstedc .. _stein: rocsolver_stein() --------------------------------------- .. doxygenfunction:: rocsolver_zstein :outline: .. doxygenfunction:: rocsolver_cstein :outline: .. doxygenfunction:: rocsolver_dstein :outline: .. doxygenfunction:: rocsolver_sstein .. _symmetric: Symmetric matrices ================================== .. contents:: List of functions for symmetric matrices :local: :backlinks: top .. _lasyf: rocsolver_lasyf() --------------------------------------- .. doxygenfunction:: rocsolver_zlasyf :outline: .. doxygenfunction:: rocsolver_clasyf :outline: .. doxygenfunction:: rocsolver_dlasyf :outline: .. doxygenfunction:: rocsolver_slasyf .. _orthonormal: Orthonormal matrices ================================== .. contents:: List of functions for orthonormal matrices :local: :backlinks: top .. _org2r: rocsolver_org2r() --------------------------------------- .. doxygenfunction:: rocsolver_dorg2r :outline: .. doxygenfunction:: rocsolver_sorg2r .. _orgqr: rocsolver_orgqr() --------------------------------------- .. doxygenfunction:: rocsolver_dorgqr :outline: .. doxygenfunction:: rocsolver_sorgqr .. _orgl2: rocsolver_orgl2() --------------------------------------- .. doxygenfunction:: rocsolver_dorgl2 :outline: .. doxygenfunction:: rocsolver_sorgl2 .. _orglq: rocsolver_orglq() --------------------------------------- .. doxygenfunction:: rocsolver_dorglq :outline: .. doxygenfunction:: rocsolver_sorglq .. _org2l: rocsolver_org2l() --------------------------------------- .. doxygenfunction:: rocsolver_dorg2l :outline: .. doxygenfunction:: rocsolver_sorg2l .. _orgql: rocsolver_orgql() --------------------------------------- .. doxygenfunction:: rocsolver_dorgql :outline: .. doxygenfunction:: rocsolver_sorgql .. _orgbr: rocsolver_orgbr() --------------------------------------- .. doxygenfunction:: rocsolver_dorgbr :outline: .. doxygenfunction:: rocsolver_sorgbr .. _orgtr: rocsolver_orgtr() --------------------------------------- .. doxygenfunction:: rocsolver_dorgtr :outline: .. doxygenfunction:: rocsolver_sorgtr .. _orm2r: rocsolver_orm2r() --------------------------------------- .. doxygenfunction:: rocsolver_dorm2r :outline: .. doxygenfunction:: rocsolver_sorm2r .. _ormqr: rocsolver_ormqr() --------------------------------------- .. doxygenfunction:: rocsolver_dormqr :outline: .. doxygenfunction:: rocsolver_sormqr .. _orml2: rocsolver_orml2() --------------------------------------- .. doxygenfunction:: rocsolver_dorml2 :outline: .. doxygenfunction:: rocsolver_sorml2 .. _ormlq: rocsolver_ormlq() --------------------------------------- .. doxygenfunction:: rocsolver_dormlq :outline: .. doxygenfunction:: rocsolver_sormlq .. _orm2l: rocsolver_orm2l() --------------------------------------- .. doxygenfunction:: rocsolver_dorm2l :outline: .. doxygenfunction:: rocsolver_sorm2l .. _ormql: rocsolver_ormql() --------------------------------------- .. doxygenfunction:: rocsolver_dormql :outline: .. doxygenfunction:: rocsolver_sormql .. _ormbr: rocsolver_ormbr() --------------------------------------- .. doxygenfunction:: rocsolver_dormbr :outline: .. doxygenfunction:: rocsolver_sormbr .. _ormtr: rocsolver_ormtr() --------------------------------------- .. doxygenfunction:: rocsolver_dormtr :outline: .. doxygenfunction:: rocsolver_sormtr .. _unitary: Unitary matrices ================================== .. contents:: List of functions for unitary matrices :local: :backlinks: top .. _ung2r: rocsolver_ung2r() --------------------------------------- .. doxygenfunction:: rocsolver_zung2r :outline: .. doxygenfunction:: rocsolver_cung2r .. _ungqr: rocsolver_ungqr() --------------------------------------- .. doxygenfunction:: rocsolver_zungqr :outline: .. doxygenfunction:: rocsolver_cungqr .. _ungl2: rocsolver_ungl2() --------------------------------------- .. doxygenfunction:: rocsolver_zungl2 :outline: .. doxygenfunction:: rocsolver_cungl2 .. _unglq: rocsolver_unglq() --------------------------------------- .. doxygenfunction:: rocsolver_zunglq :outline: .. doxygenfunction:: rocsolver_cunglq .. _ung2l: rocsolver_ung2l() --------------------------------------- .. doxygenfunction:: rocsolver_zung2l :outline: .. doxygenfunction:: rocsolver_cung2l .. _ungql: rocsolver_ungql() --------------------------------------- .. doxygenfunction:: rocsolver_zungql :outline: .. doxygenfunction:: rocsolver_cungql .. _ungbr: rocsolver_ungbr() --------------------------------------- .. doxygenfunction:: rocsolver_zungbr :outline: .. doxygenfunction:: rocsolver_cungbr .. _ungtr: rocsolver_ungtr() --------------------------------------- .. doxygenfunction:: rocsolver_zungtr :outline: .. doxygenfunction:: rocsolver_cungtr .. _unm2r: rocsolver_unm2r() --------------------------------------- .. doxygenfunction:: rocsolver_zunm2r :outline: .. doxygenfunction:: rocsolver_cunm2r .. _unmqr: rocsolver_unmqr() --------------------------------------- .. doxygenfunction:: rocsolver_zunmqr :outline: .. doxygenfunction:: rocsolver_cunmqr .. _unml2: rocsolver_unml2() --------------------------------------- .. doxygenfunction:: rocsolver_zunml2 :outline: .. doxygenfunction:: rocsolver_cunml2 .. _unmlq: rocsolver_unmlq() --------------------------------------- .. doxygenfunction:: rocsolver_zunmlq :outline: .. doxygenfunction:: rocsolver_cunmlq .. _unm2l: rocsolver_unm2l() --------------------------------------- .. doxygenfunction:: rocsolver_zunm2l :outline: .. doxygenfunction:: rocsolver_cunm2l .. _unmql: rocsolver_unmql() --------------------------------------- .. doxygenfunction:: rocsolver_zunmql :outline: .. doxygenfunction:: rocsolver_cunmql .. _unmbr: rocsolver_unmbr() --------------------------------------- .. doxygenfunction:: rocsolver_zunmbr :outline: .. doxygenfunction:: rocsolver_cunmbr .. _unmtr: rocsolver_unmtr() --------------------------------------- .. doxygenfunction:: rocsolver_zunmtr :outline: .. doxygenfunction:: rocsolver_cunmtr