Dense matrix LAPACK-like functions#

Other Lapack-like routines provided by hipSOLVER. These are divided into the following subcategories:

Symmetric eigensolvers#

hipsolverDn<type>syevdx_bufferSize()#

hipsolverStatus_t hipsolverDnDsyevdx_bufferSize(hipsolverHandle_t handle, hipsolverEigMode_t jobz, hipsolverEigRange_t range, hipblasFillMode_t uplo, int n, const double *A, int lda, double vl, double vu, int il, int iu, int *nev, const double *W, int *lwork)#
hipsolverStatus_t hipsolverDnSsyevdx_bufferSize(hipsolverHandle_t handle, hipsolverEigMode_t jobz, hipsolverEigRange_t range, hipblasFillMode_t uplo, int n, const float *A, int lda, float vl, float vu, int il, int iu, int *nev, const float *W, int *lwork)#

hipsolverDn<type>heevdx_bufferSize()#

hipsolverStatus_t hipsolverDnZheevdx_bufferSize(hipsolverHandle_t handle, hipsolverEigMode_t jobz, hipsolverEigRange_t range, hipblasFillMode_t uplo, int n, const hipDoubleComplex *A, int lda, double vl, double vu, int il, int iu, int *nev, const double *W, int *lwork)#
hipsolverStatus_t hipsolverDnCheevdx_bufferSize(hipsolverHandle_t handle, hipsolverEigMode_t jobz, hipsolverEigRange_t range, hipblasFillMode_t uplo, int n, const hipFloatComplex *A, int lda, float vl, float vu, int il, int iu, int *nev, const float *W, int *lwork)#

hipsolverDn<type>syevdx()#

hipsolverStatus_t hipsolverDnDsyevdx(hipsolverHandle_t handle, hipsolverEigMode_t jobz, hipsolverEigRange_t range, hipblasFillMode_t uplo, int n, double *A, int lda, double vl, double vu, int il, int iu, int *nev, double *W, double *work, int lwork, int *devInfo)#
hipsolverStatus_t hipsolverDnSsyevdx(hipsolverHandle_t handle, hipsolverEigMode_t jobz, hipsolverEigRange_t range, hipblasFillMode_t uplo, int n, float *A, int lda, float vl, float vu, int il, int iu, int *nev, float *W, float *work, int lwork, int *devInfo)#

hipsolverDn<type>heevdx()#

hipsolverStatus_t hipsolverDnZheevdx(hipsolverHandle_t handle, hipsolverEigMode_t jobz, hipsolverEigRange_t range, hipblasFillMode_t uplo, int n, hipDoubleComplex *A, int lda, double vl, double vu, int il, int iu, int *nev, double *W, hipDoubleComplex *work, int lwork, int *devInfo)#
hipsolverStatus_t hipsolverDnCheevdx(hipsolverHandle_t handle, hipsolverEigMode_t jobz, hipsolverEigRange_t range, hipblasFillMode_t uplo, int n, hipFloatComplex *A, int lda, float vl, float vu, int il, int iu, int *nev, float *W, hipFloatComplex *work, int lwork, int *devInfo)#

hipsolverDn<type>syevj_bufferSize()#

hipsolverStatus_t hipsolverDnDsyevj_bufferSize(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, const double *A, int lda, const double *W, int *lwork, hipsolverSyevjInfo_t params)#
hipsolverStatus_t hipsolverDnSsyevj_bufferSize(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, const float *A, int lda, const float *W, int *lwork, hipsolverSyevjInfo_t params)#

hipsolverDn<type>heevj_bufferSize()#

hipsolverStatus_t hipsolverDnZheevj_bufferSize(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, const hipDoubleComplex *A, int lda, const double *W, int *lwork, hipsolverSyevjInfo_t params)#
hipsolverStatus_t hipsolverDnCheevj_bufferSize(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, const hipFloatComplex *A, int lda, const float *W, int *lwork, hipsolverSyevjInfo_t params)#

hipsolverDn<type>syevjBatched_bufferSize()#

hipsolverStatus_t hipsolverDnDsyevjBatched_bufferSize(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, const double *A, int lda, const double *W, int *lwork, hipsolverSyevjInfo_t params, int batch_count)#
hipsolverStatus_t hipsolverDnSsyevjBatched_bufferSize(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, const float *A, int lda, const float *W, int *lwork, hipsolverSyevjInfo_t params, int batch_count)#

hipsolverDn<type>heevjBatched_bufferSize()#

hipsolverStatus_t hipsolverDnZheevjBatched_bufferSize(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, const hipDoubleComplex *A, int lda, const double *W, int *lwork, hipsolverSyevjInfo_t params, int batch_count)#
hipsolverStatus_t hipsolverDnCheevjBatched_bufferSize(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, const hipFloatComplex *A, int lda, const float *W, int *lwork, hipsolverSyevjInfo_t params, int batch_count)#

hipsolverDn<type>syevj()#

hipsolverStatus_t hipsolverDnDsyevj(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, double *A, int lda, double *W, double *work, int lwork, int *devInfo, hipsolverSyevjInfo_t params)#
hipsolverStatus_t hipsolverDnSsyevj(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, float *A, int lda, float *W, float *work, int lwork, int *devInfo, hipsolverSyevjInfo_t params)#

hipsolverDn<type>heevj()#

hipsolverStatus_t hipsolverDnZheevj(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, hipDoubleComplex *A, int lda, double *W, hipDoubleComplex *work, int lwork, int *devInfo, hipsolverSyevjInfo_t params)#
hipsolverStatus_t hipsolverDnCheevj(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, hipFloatComplex *A, int lda, float *W, hipFloatComplex *work, int lwork, int *devInfo, hipsolverSyevjInfo_t params)#

hipsolverDn<type>syevjBatched()#

hipsolverStatus_t hipsolverDnDsyevjBatched(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, double *A, int lda, double *W, double *work, int lwork, int *devInfo, hipsolverSyevjInfo_t params, int batch_count)#
hipsolverStatus_t hipsolverDnSsyevjBatched(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, float *A, int lda, float *W, float *work, int lwork, int *devInfo, hipsolverSyevjInfo_t params, int batch_count)#

hipsolverDn<type>heevjBatched()#

hipsolverStatus_t hipsolverDnZheevjBatched(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, hipDoubleComplex *A, int lda, double *W, hipDoubleComplex *work, int lwork, int *devInfo, hipsolverSyevjInfo_t params, int batch_count)#
hipsolverStatus_t hipsolverDnCheevjBatched(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, hipFloatComplex *A, int lda, float *W, hipFloatComplex *work, int lwork, int *devInfo, hipsolverSyevjInfo_t params, int batch_count)#

hipsolverDn<type>sygvdx_bufferSize()#

hipsolverStatus_t hipsolverDnDsygvdx_bufferSize(hipsolverHandle_t handle, hipsolverEigType_t itype, hipsolverEigMode_t jobz, hipsolverEigRange_t range, hipblasFillMode_t uplo, int n, const double *A, int lda, const double *B, int ldb, double vl, double vu, int il, int iu, int *nev, const double *W, int *lwork)#
hipsolverStatus_t hipsolverDnSsygvdx_bufferSize(hipsolverHandle_t handle, hipsolverEigType_t itype, hipsolverEigMode_t jobz, hipsolverEigRange_t range, hipblasFillMode_t uplo, int n, const float *A, int lda, const float *B, int ldb, float vl, float vu, int il, int iu, int *nev, const float *W, int *lwork)#

hipsolverDn<type>hegvdx_bufferSize()#

hipsolverStatus_t hipsolverDnZhegvdx_bufferSize(hipsolverHandle_t handle, hipsolverEigType_t itype, hipsolverEigMode_t jobz, hipsolverEigRange_t range, hipblasFillMode_t uplo, int n, const hipDoubleComplex *A, int lda, const hipDoubleComplex *B, int ldb, double vl, double vu, int il, int iu, int *nev, const double *W, int *lwork)#
hipsolverStatus_t hipsolverDnChegvdx_bufferSize(hipsolverHandle_t handle, hipsolverEigType_t itype, hipsolverEigMode_t jobz, hipsolverEigRange_t range, hipblasFillMode_t uplo, int n, const hipFloatComplex *A, int lda, const hipFloatComplex *B, int ldb, float vl, float vu, int il, int iu, int *nev, const float *W, int *lwork)#

hipsolverDn<type>sygvdx()#

hipsolverStatus_t hipsolverDnDsygvdx(hipsolverHandle_t handle, hipsolverEigType_t itype, hipsolverEigMode_t jobz, hipsolverEigRange_t range, hipblasFillMode_t uplo, int n, double *A, int lda, double *B, int ldb, double vl, double vu, int il, int iu, int *nev, double *W, double *work, int lwork, int *devInfo)#
hipsolverStatus_t hipsolverDnSsygvdx(hipsolverHandle_t handle, hipsolverEigType_t itype, hipsolverEigMode_t jobz, hipsolverEigRange_t range, hipblasFillMode_t uplo, int n, float *A, int lda, float *B, int ldb, float vl, float vu, int il, int iu, int *nev, float *W, float *work, int lwork, int *devInfo)#

hipsolverDn<type>hegvdx()#

hipsolverStatus_t hipsolverDnZhegvdx(hipsolverHandle_t handle, hipsolverEigType_t itype, hipsolverEigMode_t jobz, hipsolverEigRange_t range, hipblasFillMode_t uplo, int n, hipDoubleComplex *A, int lda, hipDoubleComplex *B, int ldb, double vl, double vu, int il, int iu, int *nev, double *W, hipDoubleComplex *work, int lwork, int *devInfo)#
hipsolverStatus_t hipsolverDnChegvdx(hipsolverHandle_t handle, hipsolverEigType_t itype, hipsolverEigMode_t jobz, hipsolverEigRange_t range, hipblasFillMode_t uplo, int n, hipFloatComplex *A, int lda, hipFloatComplex *B, int ldb, float vl, float vu, int il, int iu, int *nev, float *W, hipFloatComplex *work, int lwork, int *devInfo)#

hipsolverDn<type>sygvj_bufferSize()#

hipsolverStatus_t hipsolverDnDsygvj_bufferSize(hipsolverDnHandle_t handle, hipsolverEigType_t itype, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, const double *A, int lda, const double *B, int ldb, const double *W, int *lwork, hipsolverSyevjInfo_t params)#
hipsolverStatus_t hipsolverDnSsygvj_bufferSize(hipsolverDnHandle_t handle, hipsolverEigType_t itype, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, const float *A, int lda, const float *B, int ldb, const float *W, int *lwork, hipsolverSyevjInfo_t params)#

hipsolverDn<type>hegvj_bufferSize()#

hipsolverStatus_t hipsolverDnZhegvj_bufferSize(hipsolverDnHandle_t handle, hipsolverEigType_t itype, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, const hipDoubleComplex *A, int lda, const hipDoubleComplex *B, int ldb, const double *W, int *lwork, hipsolverSyevjInfo_t params)#
hipsolverStatus_t hipsolverDnChegvj_bufferSize(hipsolverDnHandle_t handle, hipsolverEigType_t itype, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, const hipFloatComplex *A, int lda, const hipFloatComplex *B, int ldb, const float *W, int *lwork, hipsolverSyevjInfo_t params)#

hipsolverDn<type>sygvj()#

hipsolverStatus_t hipsolverDnDsygvj(hipsolverDnHandle_t handle, hipsolverEigType_t itype, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, double *A, int lda, double *B, int ldb, double *W, double *work, int lwork, int *devInfo, hipsolverSyevjInfo_t params)#
hipsolverStatus_t hipsolverDnSsygvj(hipsolverDnHandle_t handle, hipsolverEigType_t itype, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, float *A, int lda, float *B, int ldb, float *W, float *work, int lwork, int *devInfo, hipsolverSyevjInfo_t params)#

hipsolverDn<type>hegvj()#

hipsolverStatus_t hipsolverDnZhegvj(hipsolverDnHandle_t handle, hipsolverEigType_t itype, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, hipDoubleComplex *A, int lda, hipDoubleComplex *B, int ldb, double *W, hipDoubleComplex *work, int lwork, int *devInfo, hipsolverSyevjInfo_t params)#
hipsolverStatus_t hipsolverDnChegvj(hipsolverDnHandle_t handle, hipsolverEigType_t itype, hipsolverEigMode_t jobz, hipblasFillMode_t uplo, int n, hipFloatComplex *A, int lda, hipFloatComplex *B, int ldb, float *W, hipFloatComplex *work, int lwork, int *devInfo, hipsolverSyevjInfo_t params)#

Singular value decomposition#

hipsolverDn<type>gesvdj_bufferSize()#

hipsolverStatus_t hipsolverDnZgesvdj_bufferSize(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, int econ, int m, int n, const hipDoubleComplex *A, int lda, const double *S, const hipDoubleComplex *U, int ldu, const hipDoubleComplex *V, int ldv, int *lwork, hipsolverGesvdjInfo_t params)#
hipsolverStatus_t hipsolverDnCgesvdj_bufferSize(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, int econ, int m, int n, const hipFloatComplex *A, int lda, const float *S, const hipFloatComplex *U, int ldu, const hipFloatComplex *V, int ldv, int *lwork, hipsolverGesvdjInfo_t params)#
hipsolverStatus_t hipsolverDnDgesvdj_bufferSize(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, int econ, int m, int n, const double *A, int lda, const double *S, const double *U, int ldu, const double *V, int ldv, int *lwork, hipsolverGesvdjInfo_t params)#
hipsolverStatus_t hipsolverDnSgesvdj_bufferSize(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, int econ, int m, int n, const float *A, int lda, const float *S, const float *U, int ldu, const float *V, int ldv, int *lwork, hipsolverGesvdjInfo_t params)#

hipsolverDn<type>gesvdjBatched_bufferSize()#

hipsolverStatus_t hipsolverDnZgesvdjBatched_bufferSize(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, int m, int n, const hipDoubleComplex *A, int lda, const double *S, const hipDoubleComplex *U, int ldu, const hipDoubleComplex *V, int ldv, int *lwork, hipsolverGesvdjInfo_t params, int batch_count)#
hipsolverStatus_t hipsolverDnCgesvdjBatched_bufferSize(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, int m, int n, const hipFloatComplex *A, int lda, const float *S, const hipFloatComplex *U, int ldu, const hipFloatComplex *V, int ldv, int *lwork, hipsolverGesvdjInfo_t params, int batch_count)#
hipsolverStatus_t hipsolverDnDgesvdjBatched_bufferSize(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, int m, int n, const double *A, int lda, const double *S, const double *U, int ldu, const double *V, int ldv, int *lwork, hipsolverGesvdjInfo_t params, int batch_count)#
hipsolverStatus_t hipsolverDnSgesvdjBatched_bufferSize(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, int m, int n, const float *A, int lda, const float *S, const float *U, int ldu, const float *V, int ldv, int *lwork, hipsolverGesvdjInfo_t params, int batch_count)#

hipsolverDn<type>gesvdj()#

hipsolverStatus_t hipsolverDnZgesvdj(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, int econ, int m, int n, hipDoubleComplex *A, int lda, double *S, hipDoubleComplex *U, int ldu, hipDoubleComplex *V, int ldv, hipDoubleComplex *work, int lwork, int *devInfo, hipsolverGesvdjInfo_t params)#
hipsolverStatus_t hipsolverDnCgesvdj(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, int econ, int m, int n, hipFloatComplex *A, int lda, float *S, hipFloatComplex *U, int ldu, hipFloatComplex *V, int ldv, hipFloatComplex *work, int lwork, int *devInfo, hipsolverGesvdjInfo_t params)#
hipsolverStatus_t hipsolverDnDgesvdj(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, int econ, int m, int n, double *A, int lda, double *S, double *U, int ldu, double *V, int ldv, double *work, int lwork, int *devInfo, hipsolverGesvdjInfo_t params)#
hipsolverStatus_t hipsolverDnSgesvdj(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, int econ, int m, int n, float *A, int lda, float *S, float *U, int ldu, float *V, int ldv, float *work, int lwork, int *devInfo, hipsolverGesvdjInfo_t params)#

hipsolverDn<type>gesvdjBatched()#

hipsolverStatus_t hipsolverDnZgesvdjBatched(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, int m, int n, hipDoubleComplex *A, int lda, double *S, hipDoubleComplex *U, int ldu, hipDoubleComplex *V, int ldv, hipDoubleComplex *work, int lwork, int *devInfo, hipsolverGesvdjInfo_t params, int batch_count)#
hipsolverStatus_t hipsolverDnCgesvdjBatched(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, int m, int n, hipFloatComplex *A, int lda, float *S, hipFloatComplex *U, int ldu, hipFloatComplex *V, int ldv, hipFloatComplex *work, int lwork, int *devInfo, hipsolverGesvdjInfo_t params, int batch_count)#
hipsolverStatus_t hipsolverDnDgesvdjBatched(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, int m, int n, double *A, int lda, double *S, double *U, int ldu, double *V, int ldv, double *work, int lwork, int *devInfo, hipsolverGesvdjInfo_t params, int batch_count)#
hipsolverStatus_t hipsolverDnSgesvdjBatched(hipsolverDnHandle_t handle, hipsolverEigMode_t jobz, int m, int n, float *A, int lda, float *S, float *U, int ldu, float *V, int ldv, float *work, int lwork, int *devInfo, hipsolverGesvdjInfo_t params, int batch_count)#

hipsolverDn<type>gesvdaStridedBatched_bufferSize()#

hipsolverStatus_t hipsolverDnZgesvdaStridedBatched_bufferSize(hipsolverHandle_t handle, hipsolverEigMode_t jobz, int rank, int m, int n, const hipDoubleComplex *A, int lda, long long int strideA, const double *S, long long int strideS, const hipDoubleComplex *U, int ldu, long long int strideU, const hipDoubleComplex *V, int ldv, long long int strideV, int *lwork, int batch_count)#
hipsolverStatus_t hipsolverDnCgesvdaStridedBatched_bufferSize(hipsolverHandle_t handle, hipsolverEigMode_t jobz, int rank, int m, int n, const hipFloatComplex *A, int lda, long long int strideA, const float *S, long long int strideS, const hipFloatComplex *U, int ldu, long long int strideU, const hipFloatComplex *V, int ldv, long long int strideV, int *lwork, int batch_count)#
hipsolverStatus_t hipsolverDnDgesvdaStridedBatched_bufferSize(hipsolverHandle_t handle, hipsolverEigMode_t jobz, int rank, int m, int n, const double *A, int lda, long long int strideA, const double *S, long long int strideS, const double *U, int ldu, long long int strideU, const double *V, int ldv, long long int strideV, int *lwork, int batch_count)#
hipsolverStatus_t hipsolverDnSgesvdaStridedBatched_bufferSize(hipsolverHandle_t handle, hipsolverEigMode_t jobz, int rank, int m, int n, const float *A, int lda, long long int strideA, const float *S, long long int strideS, const float *U, int ldu, long long int strideU, const float *V, int ldv, long long int strideV, int *lwork, int batch_count)#

hipsolverDn<type>gesvdaStridedBatched()#

hipsolverStatus_t hipsolverDnZgesvdaStridedBatched(hipsolverHandle_t handle, hipsolverEigMode_t jobz, int rank, int m, int n, const hipDoubleComplex *A, int lda, long long int strideA, double *S, long long int strideS, hipDoubleComplex *U, int ldu, long long int strideU, hipDoubleComplex *V, int ldv, long long int strideV, hipDoubleComplex *work, int lwork, int *devInfo, double *hRnrmF, int batch_count)#
hipsolverStatus_t hipsolverDnCgesvdaStridedBatched(hipsolverHandle_t handle, hipsolverEigMode_t jobz, int rank, int m, int n, const hipFloatComplex *A, int lda, long long int strideA, float *S, long long int strideS, hipFloatComplex *U, int ldu, long long int strideU, hipFloatComplex *V, int ldv, long long int strideV, hipFloatComplex *work, int lwork, int *devInfo, double *hRnrmF, int batch_count)#
hipsolverStatus_t hipsolverDnDgesvdaStridedBatched(hipsolverHandle_t handle, hipsolverEigMode_t jobz, int rank, int m, int n, const double *A, int lda, long long int strideA, double *S, long long int strideS, double *U, int ldu, long long int strideU, double *V, int ldv, long long int strideV, double *work, int lwork, int *devInfo, double *hRnrmF, int batch_count)#
hipsolverStatus_t hipsolverDnSgesvdaStridedBatched(hipsolverHandle_t handle, hipsolverEigMode_t jobz, int rank, int m, int n, const float *A, int lda, long long int strideA, float *S, long long int strideS, float *U, int ldu, long long int strideU, float *V, int ldv, long long int strideV, float *work, int lwork, int *devInfo, double *hRnrmF, int batch_count)#