Files
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

659 lines
15 KiB
ReStructuredText

.. 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 <lapackfunc>`.
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_<type>lacgv()
---------------------------------------
.. doxygenfunction:: rocsolver_zlacgv_64
:outline:
.. doxygenfunction:: rocsolver_clacgv_64
:outline:
.. doxygenfunction:: rocsolver_zlacgv
:outline:
.. doxygenfunction:: rocsolver_clacgv
.. _laswp:
rocsolver_<type>laswp()
---------------------------------------
.. doxygenfunction:: rocsolver_zlaswp
:outline:
.. doxygenfunction:: rocsolver_claswp
:outline:
.. doxygenfunction:: rocsolver_dlaswp
:outline:
.. doxygenfunction:: rocsolver_slaswp
.. _lauum:
rocsolver_<type>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_<type>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_<type>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_<type>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_<type>larft()
---------------------------------------
.. doxygenfunction:: rocsolver_zlarft
:outline:
.. doxygenfunction:: rocsolver_clarft
:outline:
.. doxygenfunction:: rocsolver_dlarft
:outline:
.. doxygenfunction:: rocsolver_slarft
.. _larf:
rocsolver_<type>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_<type>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_<type>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_<type>labrd()
---------------------------------------
.. doxygenfunction:: rocsolver_zlabrd
:outline:
.. doxygenfunction:: rocsolver_clabrd
:outline:
.. doxygenfunction:: rocsolver_dlabrd
:outline:
.. doxygenfunction:: rocsolver_slabrd
.. _bdsqr:
rocsolver_<type>bdsqr()
---------------------------------------
.. doxygenfunction:: rocsolver_zbdsqr
:outline:
.. doxygenfunction:: rocsolver_cbdsqr
:outline:
.. doxygenfunction:: rocsolver_dbdsqr
:outline:
.. doxygenfunction:: rocsolver_sbdsqr
.. _bdsvdx:
rocsolver_<type>bdsvdx()
---------------------------------------
.. doxygenfunction:: rocsolver_dbdsvdx
:outline:
.. doxygenfunction:: rocsolver_sbdsvdx
.. _tridiag:
Tridiagonal forms
==================================
.. contents:: List of functions for tridiagonal forms
:local:
:backlinks: top
.. _latrd:
rocsolver_<type>latrd()
---------------------------------------
.. doxygenfunction:: rocsolver_zlatrd
:outline:
.. doxygenfunction:: rocsolver_clatrd
:outline:
.. doxygenfunction:: rocsolver_dlatrd
:outline:
.. doxygenfunction:: rocsolver_slatrd
.. _sterf:
rocsolver_<type>sterf()
---------------------------------------
.. doxygenfunction:: rocsolver_dsterf
:outline:
.. doxygenfunction:: rocsolver_ssterf
.. _stebz:
rocsolver_<type>stebz()
---------------------------------------
.. doxygenfunction:: rocsolver_dstebz
:outline:
.. doxygenfunction:: rocsolver_sstebz
.. _steqr:
rocsolver_<type>steqr()
---------------------------------------
.. doxygenfunction:: rocsolver_zsteqr
:outline:
.. doxygenfunction:: rocsolver_csteqr
:outline:
.. doxygenfunction:: rocsolver_dsteqr
:outline:
.. doxygenfunction:: rocsolver_ssteqr
.. _stedc:
rocsolver_<type>stedc()
---------------------------------------
.. doxygenfunction:: rocsolver_zstedc
:outline:
.. doxygenfunction:: rocsolver_cstedc
:outline:
.. doxygenfunction:: rocsolver_dstedc
:outline:
.. doxygenfunction:: rocsolver_sstedc
.. _stein:
rocsolver_<type>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_<type>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_<type>org2r()
---------------------------------------
.. doxygenfunction:: rocsolver_dorg2r
:outline:
.. doxygenfunction:: rocsolver_sorg2r
.. _orgqr:
rocsolver_<type>orgqr()
---------------------------------------
.. doxygenfunction:: rocsolver_dorgqr
:outline:
.. doxygenfunction:: rocsolver_sorgqr
.. _orgl2:
rocsolver_<type>orgl2()
---------------------------------------
.. doxygenfunction:: rocsolver_dorgl2
:outline:
.. doxygenfunction:: rocsolver_sorgl2
.. _orglq:
rocsolver_<type>orglq()
---------------------------------------
.. doxygenfunction:: rocsolver_dorglq
:outline:
.. doxygenfunction:: rocsolver_sorglq
.. _org2l:
rocsolver_<type>org2l()
---------------------------------------
.. doxygenfunction:: rocsolver_dorg2l
:outline:
.. doxygenfunction:: rocsolver_sorg2l
.. _orgql:
rocsolver_<type>orgql()
---------------------------------------
.. doxygenfunction:: rocsolver_dorgql
:outline:
.. doxygenfunction:: rocsolver_sorgql
.. _orgbr:
rocsolver_<type>orgbr()
---------------------------------------
.. doxygenfunction:: rocsolver_dorgbr
:outline:
.. doxygenfunction:: rocsolver_sorgbr
.. _orgtr:
rocsolver_<type>orgtr()
---------------------------------------
.. doxygenfunction:: rocsolver_dorgtr
:outline:
.. doxygenfunction:: rocsolver_sorgtr
.. _orm2r:
rocsolver_<type>orm2r()
---------------------------------------
.. doxygenfunction:: rocsolver_dorm2r
:outline:
.. doxygenfunction:: rocsolver_sorm2r
.. _ormqr:
rocsolver_<type>ormqr()
---------------------------------------
.. doxygenfunction:: rocsolver_dormqr
:outline:
.. doxygenfunction:: rocsolver_sormqr
.. _orml2:
rocsolver_<type>orml2()
---------------------------------------
.. doxygenfunction:: rocsolver_dorml2
:outline:
.. doxygenfunction:: rocsolver_sorml2
.. _ormlq:
rocsolver_<type>ormlq()
---------------------------------------
.. doxygenfunction:: rocsolver_dormlq
:outline:
.. doxygenfunction:: rocsolver_sormlq
.. _orm2l:
rocsolver_<type>orm2l()
---------------------------------------
.. doxygenfunction:: rocsolver_dorm2l
:outline:
.. doxygenfunction:: rocsolver_sorm2l
.. _ormql:
rocsolver_<type>ormql()
---------------------------------------
.. doxygenfunction:: rocsolver_dormql
:outline:
.. doxygenfunction:: rocsolver_sormql
.. _ormbr:
rocsolver_<type>ormbr()
---------------------------------------
.. doxygenfunction:: rocsolver_dormbr
:outline:
.. doxygenfunction:: rocsolver_sormbr
.. _ormtr:
rocsolver_<type>ormtr()
---------------------------------------
.. doxygenfunction:: rocsolver_dormtr
:outline:
.. doxygenfunction:: rocsolver_sormtr
.. _unitary:
Unitary matrices
==================================
.. contents:: List of functions for unitary matrices
:local:
:backlinks: top
.. _ung2r:
rocsolver_<type>ung2r()
---------------------------------------
.. doxygenfunction:: rocsolver_zung2r
:outline:
.. doxygenfunction:: rocsolver_cung2r
.. _ungqr:
rocsolver_<type>ungqr()
---------------------------------------
.. doxygenfunction:: rocsolver_zungqr
:outline:
.. doxygenfunction:: rocsolver_cungqr
.. _ungl2:
rocsolver_<type>ungl2()
---------------------------------------
.. doxygenfunction:: rocsolver_zungl2
:outline:
.. doxygenfunction:: rocsolver_cungl2
.. _unglq:
rocsolver_<type>unglq()
---------------------------------------
.. doxygenfunction:: rocsolver_zunglq
:outline:
.. doxygenfunction:: rocsolver_cunglq
.. _ung2l:
rocsolver_<type>ung2l()
---------------------------------------
.. doxygenfunction:: rocsolver_zung2l
:outline:
.. doxygenfunction:: rocsolver_cung2l
.. _ungql:
rocsolver_<type>ungql()
---------------------------------------
.. doxygenfunction:: rocsolver_zungql
:outline:
.. doxygenfunction:: rocsolver_cungql
.. _ungbr:
rocsolver_<type>ungbr()
---------------------------------------
.. doxygenfunction:: rocsolver_zungbr
:outline:
.. doxygenfunction:: rocsolver_cungbr
.. _ungtr:
rocsolver_<type>ungtr()
---------------------------------------
.. doxygenfunction:: rocsolver_zungtr
:outline:
.. doxygenfunction:: rocsolver_cungtr
.. _unm2r:
rocsolver_<type>unm2r()
---------------------------------------
.. doxygenfunction:: rocsolver_zunm2r
:outline:
.. doxygenfunction:: rocsolver_cunm2r
.. _unmqr:
rocsolver_<type>unmqr()
---------------------------------------
.. doxygenfunction:: rocsolver_zunmqr
:outline:
.. doxygenfunction:: rocsolver_cunmqr
.. _unml2:
rocsolver_<type>unml2()
---------------------------------------
.. doxygenfunction:: rocsolver_zunml2
:outline:
.. doxygenfunction:: rocsolver_cunml2
.. _unmlq:
rocsolver_<type>unmlq()
---------------------------------------
.. doxygenfunction:: rocsolver_zunmlq
:outline:
.. doxygenfunction:: rocsolver_cunmlq
.. _unm2l:
rocsolver_<type>unm2l()
---------------------------------------
.. doxygenfunction:: rocsolver_zunm2l
:outline:
.. doxygenfunction:: rocsolver_cunm2l
.. _unmql:
rocsolver_<type>unmql()
---------------------------------------
.. doxygenfunction:: rocsolver_zunmql
:outline:
.. doxygenfunction:: rocsolver_cunmql
.. _unmbr:
rocsolver_<type>unmbr()
---------------------------------------
.. doxygenfunction:: rocsolver_zunmbr
:outline:
.. doxygenfunction:: rocsolver_cunmbr
.. _unmtr:
rocsolver_<type>unmtr()
---------------------------------------
.. doxygenfunction:: rocsolver_zunmtr
:outline:
.. doxygenfunction:: rocsolver_cunmtr