hipsparsesgtsv2_nopivot Interface Reference#
Tridiagonal solver (no pivoting) More...
Public Member Functions | |
| integer(kind(hipsparse_status_success)) function | hipsparsesgtsv2_nopivot_ (handle, m, n, dl, d, du, b, ldb, pbuffer) |
| integer(kind(hipsparse_status_success)) function | hipsparsesgtsv2_nopivot_rank_0 (handle, m, n, dl, d, du, b, ldb, pbuffer) |
| integer(kind(hipsparse_status_success)) function | hipsparsesgtsv2_nopivot_rank_1 (handle, m, n, dl, d, du, b, ldb, pbuffer) |
| integer(kind(hipsparse_status_success)) function | hipsparsesgtsv2_nopivot_full_rank (handle, m, n, dl, d, du, b, ldb, pbuffer) |
Detailed Description
Tridiagonal solver (no pivoting)
hipsparseXgtsv2_nopivot solves a tridiagonal linear system for multiple right-hand sides without pivoting
\[ T*B = B \]
where \(T\) is a sparse tridiagonal matrix and \(B\) is a dense \(ldb \times n\) matrix storing the right-hand side vectors in column order. The tridiagonal matrix \(T\) is defined by three vectors: dl for the lower diagonal, d for the main diagonal, and du for the upper diagonal.
Solving the tridiagonal system with multiple right-hand sides without pivoting involves two steps. First, the user calls hipsparseSgtsv2_nopivot_bufferSizeExt "hipsparseXgtsv2_nopivot_bufferSizeExt()" to determine the size of the required temporary storage buffer. Once determined, the user allocates this buffer and passes it to hipsparseSgtsv2_nopivot "hipsparseXgtsv2_nopivot()" to perform the actual solve. The \(B\) dense matrix, which initially stores the n right-hand side vectors, is overwritten with the n solution vectors after the call to hipsparseSgtsv2_nopivot "hipsparseXgtsv2_nopivot()".
- Note
- This function is non-blocking and executed asynchronously with respect to the host. It can return before the actual computation has finished.
- Parameters
-
[in] handle - handle to the hipSPARSE library context queue. [in] m - size of the tridiagonal linear system (must be >= 2). [in] n - number of columns in the dense matrix B. [in] dl - lower diagonal of the tridiagonal system. The first entry must be zero. [in] d - main diagonal of the tridiagonal system. [in] du - upper diagonal of the tridiagonal system. The last entry must be zero. [in,out] B - Dense matrix of size ( ldb,n).[in] ldb - Leading dimension of B. Must satisfy ldb>= max(1, m).[in] pBuffer - temporary storage buffer allocated by the user.
- Return values
-
HIPSPARSE_STATUS_SUCCESS the operation completed successfully. HIPSPARSE_STATUS_INVALID_VALUE handle,m,n,ldb,dl,d,du,B, orpBufferpointer is invalid.HIPSPARSE_STATUS_INTERNAL_ERROR an internal error occurred.
Member Function/Subroutine Documentation
◆ hipsparsesgtsv2_nopivot_()
| integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparsesgtsv2_nopivot::hipsparsesgtsv2_nopivot_ | ( | type(c_ptr), value | handle, |
| integer(c_int), value | m, | ||
| integer(c_int), value | n, | ||
| type(c_ptr), value | dl, | ||
| type(c_ptr), value | d, | ||
| type(c_ptr), value | du, | ||
| type(c_ptr), value | b, | ||
| integer(c_int), value | ldb, | ||
| type(c_ptr), value | pbuffer | ||
| ) |
◆ hipsparsesgtsv2_nopivot_full_rank()
| integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparsesgtsv2_nopivot::hipsparsesgtsv2_nopivot_full_rank | ( | type(c_ptr) | handle, |
| integer(c_int) | m, | ||
| integer(c_int) | n, | ||
| real(c_float), dimension(:), target | dl, | ||
| real(c_float), dimension(:), target | d, | ||
| real(c_float), dimension(:), target | du, | ||
| real(c_float), dimension(:,:), target | b, | ||
| integer(c_int) | ldb, | ||
| type(c_ptr) | pbuffer | ||
| ) |
◆ hipsparsesgtsv2_nopivot_rank_0()
| integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparsesgtsv2_nopivot::hipsparsesgtsv2_nopivot_rank_0 | ( | type(c_ptr) | handle, |
| integer(c_int) | m, | ||
| integer(c_int) | n, | ||
| real(c_float), target | dl, | ||
| real(c_float), target | d, | ||
| real(c_float), target | du, | ||
| real(c_float), target | b, | ||
| integer(c_int) | ldb, | ||
| type(c_ptr) | pbuffer | ||
| ) |
◆ hipsparsesgtsv2_nopivot_rank_1()
| integer(kind(hipsparse_status_success)) function hipfort_hipsparse::hipsparsesgtsv2_nopivot::hipsparsesgtsv2_nopivot_rank_1 | ( | type(c_ptr) | handle, |
| integer(c_int) | m, | ||
| integer(c_int) | n, | ||
| real(c_float), dimension(:), target | dl, | ||
| real(c_float), dimension(:), target | d, | ||
| real(c_float), dimension(:), target | du, | ||
| real(c_float), dimension(:), target | b, | ||
| integer(c_int) | ldb, | ||
| type(c_ptr) | pbuffer | ||
| ) |
The documentation for this interface was generated from the following file: