Skip to main content
`Ctrl`+`K`

# hipSOLVER LAPACK auxiliary functions

These functions support more advanced LAPACK routines. The auxiliary functions are divided into the following categories:

- Orthonormal matrices: Generation and application of orthonormal matrices.

- Unitary matrices: Generation and application of unitary matrices.

## Orthonormal matrices

### hipsolver<type>orgbr_bufferSize()

hipsolverStatus_t hipsolverDorgbr_bufferSize(hipsolverHandle_t handle, hipsolverSideMode_t side, int m, int n, int k, double *A, int lda, double *tau, int *lwork)

hipsolverStatus_t hipsolverSorgbr_bufferSize(hipsolverHandle_t handle, hipsolverSideMode_t side, int m, int n, int k, float *A, int lda, float *tau, int *lwork)

### hipsolver<type>orgbr()

hipsolverStatus_t hipsolverDorgbr(hipsolverHandle_t handle, hipsolverSideMode_t side, int m, int n, int k, double *A, int lda, double *tau, double *work, int lwork, int *devInfo)

hipsolverStatus_t hipsolverSorgbr(hipsolverHandle_t handle, hipsolverSideMode_t side, int m, int n, int k, float *A, int lda, float *tau, float *work, int lwork, int *devInfo)

### hipsolver<type>orgqr_bufferSize()

hipsolverStatus_t hipsolverDorgqr_bufferSize(hipsolverHandle_t handle, int m, int n, int k, double *A, int lda, double *tau, int *lwork)

hipsolverStatus_t hipsolverSorgqr_bufferSize(hipsolverHandle_t handle, int m, int n, int k, float *A, int lda, float *tau, int *lwork)

### hipsolver<type>orgqr()

hipsolverStatus_t hipsolverDorgqr(hipsolverHandle_t handle, int m, int n, int k, double *A, int lda, double *tau, double *work, int lwork, int *devInfo)

hipsolverStatus_t hipsolverSorgqr(hipsolverHandle_t handle, int m, int n, int k, float *A, int lda, float *tau, float *work, int lwork, int *devInfo)

### hipsolver<type>orgtr_bufferSize()

hipsolverStatus_t hipsolverDorgtr_bufferSize(hipsolverHandle_t handle, hipsolverFillMode_t uplo, int n, double *A, int lda, double *tau, int *lwork)

hipsolverStatus_t hipsolverSorgtr_bufferSize(hipsolverHandle_t handle, hipsolverFillMode_t uplo, int n, float *A, int lda, float *tau, int *lwork)

### hipsolver<type>orgtr()

hipsolverStatus_t hipsolverDorgtr(hipsolverHandle_t handle, hipsolverFillMode_t uplo, int n, double *A, int lda, double *tau, double *work, int lwork, int *devInfo)

hipsolverStatus_t hipsolverSorgtr(hipsolverHandle_t handle, hipsolverFillMode_t uplo, int n, float *A, int lda, float *tau, float *work, int lwork, int *devInfo)

### hipsolver<type>ormqr_bufferSize()

hipsolverStatus_t hipsolverDormqr_bufferSize(hipsolverHandle_t handle, hipsolverSideMode_t side, hipsolverOperation_t trans, int m, int n, int k, double *A, int lda, double *tau, double *C, int ldc, int *lwork)

hipsolverStatus_t hipsolverSormqr_bufferSize(hipsolverHandle_t handle, hipsolverSideMode_t side, hipsolverOperation_t trans, int m, int n, int k, float *A, int lda, float *tau, float *C, int ldc, int *lwork)

### hipsolver<type>ormqr()

hipsolverStatus_t hipsolverDormqr(hipsolverHandle_t handle, hipsolverSideMode_t side, hipsolverOperation_t trans, int m, int n, int k, double *A, int lda, double *tau, double *C, int ldc, double *work, int lwork, int *devInfo)

hipsolverStatus_t hipsolverSormqr(hipsolverHandle_t handle, hipsolverSideMode_t side, hipsolverOperation_t trans, int m, int n, int k, float *A, int lda, float *tau, float *C, int ldc, float *work, int lwork, int *devInfo)

### hipsolver<type>ormtr_bufferSize()

hipsolverStatus_t hipsolverDormtr_bufferSize(hipsolverHandle_t handle, hipsolverSideMode_t side, hipsolverFillMode_t uplo, hipsolverOperation_t trans, int m, int n, double *A, int lda, double *tau, double *C, int ldc, int *lwork)

hipsolverStatus_t hipsolverSormtr_bufferSize(hipsolverHandle_t handle, hipsolverSideMode_t side, hipsolverFillMode_t uplo, hipsolverOperation_t trans, int m, int n, float *A, int lda, float *tau, float *C, int ldc, int *lwork)

### hipsolver<type>ormtr()

hipsolverStatus_t hipsolverDormtr(hipsolverHandle_t handle, hipsolverSideMode_t side, hipsolverFillMode_t uplo, hipsolverOperation_t trans, int m, int n, double *A, int lda, double *tau, double *C, int ldc, double *work, int lwork, int *devInfo)

hipsolverStatus_t hipsolverSormtr(hipsolverHandle_t handle, hipsolverSideMode_t side, hipsolverFillMode_t uplo, hipsolverOperation_t trans, int m, int n, float *A, int lda, float *tau, float *C, int ldc, float *work, int lwork, int *devInfo)

## Unitary matrices

### hipsolver<type>ungbr_bufferSize()

hipsolverStatus_t hipsolverZungbr_bufferSize(hipsolverHandle_t handle, hipsolverSideMode_t side, int m, int n, int k, hipDoubleComplex *A, int lda, hipDoubleComplex *tau, int *lwork)

hipsolverStatus_t hipsolverCungbr_bufferSize(hipsolverHandle_t handle, hipsolverSideMode_t side, int m, int n, int k, hipFloatComplex *A, int lda, hipFloatComplex *tau, int *lwork)

### hipsolver<type>ungbr()

hipsolverStatus_t hipsolverZungbr(hipsolverHandle_t handle, hipsolverSideMode_t side, int m, int n, int k, hipDoubleComplex *A, int lda, hipDoubleComplex *tau, hipDoubleComplex *work, int lwork, int *devInfo)

hipsolverStatus_t hipsolverCungbr(hipsolverHandle_t handle, hipsolverSideMode_t side, int m, int n, int k, hipFloatComplex *A, int lda, hipFloatComplex *tau, hipFloatComplex *work, int lwork, int *devInfo)

### hipsolver<type>ungqr_bufferSize()

hipsolverStatus_t hipsolverZungqr_bufferSize(hipsolverHandle_t handle, int m, int n, int k, hipDoubleComplex *A, int lda, hipDoubleComplex *tau, int *lwork)

hipsolverStatus_t hipsolverCungqr_bufferSize(hipsolverHandle_t handle, int m, int n, int k, hipFloatComplex *A, int lda, hipFloatComplex *tau, int *lwork)

### hipsolver<type>ungqr()

hipsolverStatus_t hipsolverZungqr(hipsolverHandle_t handle, int m, int n, int k, hipDoubleComplex *A, int lda, hipDoubleComplex *tau, hipDoubleComplex *work, int lwork, int *devInfo)

hipsolverStatus_t hipsolverCungqr(hipsolverHandle_t handle, int m, int n, int k, hipFloatComplex *A, int lda, hipFloatComplex *tau, hipFloatComplex *work, int lwork, int *devInfo)

### hipsolver<type>ungtr_bufferSize()

hipsolverStatus_t hipsolverZungtr_bufferSize(hipsolverHandle_t handle, hipsolverFillMode_t uplo, int n, hipDoubleComplex *A, int lda, hipDoubleComplex *tau, int *lwork)

hipsolverStatus_t hipsolverCungtr_bufferSize(hipsolverHandle_t handle, hipsolverFillMode_t uplo, int n, hipFloatComplex *A, int lda, hipFloatComplex *tau, int *lwork)

### hipsolver<type>ungtr()

hipsolverStatus_t hipsolverZungtr(hipsolverHandle_t handle, hipsolverFillMode_t uplo, int n, hipDoubleComplex *A, int lda, hipDoubleComplex *tau, hipDoubleComplex *work, int lwork, int *devInfo)

hipsolverStatus_t hipsolverCungtr(hipsolverHandle_t handle, hipsolverFillMode_t uplo, int n, hipFloatComplex *A, int lda, hipFloatComplex *tau, hipFloatComplex *work, int lwork, int *devInfo)

### hipsolver<type>unmqr_bufferSize()

hipsolverStatus_t hipsolverZunmqr_bufferSize(hipsolverHandle_t handle, hipsolverSideMode_t side, hipsolverOperation_t trans, int m, int n, int k, hipDoubleComplex *A, int lda, hipDoubleComplex *tau, hipDoubleComplex *C, int ldc, int *lwork)

hipsolverStatus_t hipsolverCunmqr_bufferSize(hipsolverHandle_t handle, hipsolverSideMode_t side, hipsolverOperation_t trans, int m, int n, int k, hipFloatComplex *A, int lda, hipFloatComplex *tau, hipFloatComplex *C, int ldc, int *lwork)

### hipsolver<type>unmqr()

hipsolverStatus_t hipsolverZunmqr(hipsolverHandle_t handle, hipsolverSideMode_t side, hipsolverOperation_t trans, int m, int n, int k, hipDoubleComplex *A, int lda, hipDoubleComplex *tau, hipDoubleComplex *C, int ldc, hipDoubleComplex *work, int lwork, int *devInfo)

hipsolverStatus_t hipsolverCunmqr(hipsolverHandle_t handle, hipsolverSideMode_t side, hipsolverOperation_t trans, int m, int n, int k, hipFloatComplex *A, int lda, hipFloatComplex *tau, hipFloatComplex *C, int ldc, hipFloatComplex *work, int lwork, int *devInfo)

### hipsolver<type>unmtr_bufferSize()

hipsolverStatus_t hipsolverZunmtr_bufferSize(hipsolverHandle_t handle, hipsolverSideMode_t side, hipsolverFillMode_t uplo, hipsolverOperation_t trans, int m, int n, hipDoubleComplex *A, int lda, hipDoubleComplex *tau, hipDoubleComplex *C, int ldc, int *lwork)

hipsolverStatus_t hipsolverCunmtr_bufferSize(hipsolverHandle_t handle, hipsolverSideMode_t side, hipsolverFillMode_t uplo, hipsolverOperation_t trans, int m, int n, hipFloatComplex *A, int lda, hipFloatComplex *tau, hipFloatComplex *C, int ldc, int *lwork)

### hipsolver<type>unmtr()

hipsolverStatus_t hipsolverZunmtr(hipsolverHandle_t handle, hipsolverSideMode_t side, hipsolverFillMode_t uplo, hipsolverOperation_t trans, int m, int n, hipDoubleComplex *A, int lda, hipDoubleComplex *tau, hipDoubleComplex *C, int ldc, hipDoubleComplex *work, int lwork, int *devInfo)

hipsolverStatus_t hipsolverCunmtr(hipsolverHandle_t handle, hipsolverSideMode_t side, hipsolverFillMode_t uplo, hipsolverOperation_t trans, int m, int n, hipFloatComplex *A, int lda, hipFloatComplex *tau, hipFloatComplex *C, int ldc, hipFloatComplex *work, int lwork, int *devInfo)