rocsolver_sgeblttrf_npvt Interface Reference#
hipfort_rocsolver::rocsolver_sgeblttrf_npvt Interface Reference
//! More...
Public Member Functions | |
| integer(kind(rocblas_status_success)) function | rocsolver_sgeblttrf_npvt_ (handle, nb, nblocks, a, lda, b, ldb, c, ldc, myinfo) |
Detailed Description
//!
\brief The GEBLTTRF_NPVT functions compute the LU factorization of a block tridiagonal
matrix without partial pivoting.
\details The LU factorization of a block tridiagonal matrix
\f[
M = \left[\begin{array}{ccccc}
B_1 & C_1 & & & \\%
A_1 & B_2 & C_2 & & \\%
& \ddots & \ddots & \ddots & \\%
& & A_{n-2} & B_{n-1} & C_{n-1}\\%
& & & A_{n-1} & B_n
\end{array}\right]
\f]
with \f$n = \f$ ``nblocks`` diagonal blocks of size ``nb``, can be represented as
\f[
M = \left[\begin{array}{cccc}
E_1 & & & \\%
A_1 & E_2 & & \\%
& \ddots & \ddots & \\%
& & A_{n-1} & E_n
\end{array}\right] \left[\begin{array}{cccc}
I & F_1 & & \\%
& \ddots & \ddots & \\%
& & I & F_{n-1}\\%
& & & I
\end{array}\right] = LU
\f]
where the blocks \f$E_i\f$ and \f$F_i\f$ are general blocks of size ``nb``. This function
returns
diagonal blocks \f$E_i\f$ in factorized form, i.e. \f$E_i=(L_i+I)U_i\f$ where \f$L_i\f$ is
strictly lower triangular
and \f$U_i\f$ is upper triangular.
@param[in] handle - rocblas_handle.
@param[in] nb - rocblas_int. nb >= 0.
The number of rows and columns of each block.
@param[in] nblocks - rocblas_int. nblocks >= 0.
The number of blocks along the diagonal of the matrix.
@param[in] A - pointer to type. Array on the GPU of dimension lda*nb*(nblocks-1).
Contains the blocks A_i, arranged one after the other.
@param[in] lda - rocblas_int. lda >= nb.
Specifies the leading dimension of blocks A_i.
@param[inout] B - pointer to type. Array on the GPU of dimension ldb*nb*nblocks.
On entry, contains the blocks B_i, arranged one after the other.
On exit, it is overwritten by L_i + U_i, where L_i and U_i are the factors of
E_i as returned by
\ref rocsolver_sgetrf_npvt "GETRF_NPVT".
@param[in] ldb - rocblas_int. ldb >= nb.
Specifies the leading dimension of blocks B_i.
@param[inout] C - pointer to type. Array on the GPU of dimension ldc*nb*(nblocks-1).
On entry, contains the blocks C_i, arranged one after the other.
On exit, it is overwritten by blocks F_i.
@param[in] ldc - rocblas_int. ldc >= nb.
Specifies the leading dimension of blocks C_i.
@param[out] myInfo - pointer to a rocblas_int on the GPU.
If info = 0, successful exit.
If info = i > 0, the matrix is singular.
Member Function/Subroutine Documentation
◆ rocsolver_sgeblttrf_npvt_()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgeblttrf_npvt::rocsolver_sgeblttrf_npvt_ | ( | type(c_ptr), value | handle, |
| integer(c_int), value | nb, | ||
| integer(c_int), value | nblocks, | ||
| type(c_ptr), value | a, | ||
| integer(c_int), value | lda, | ||
| type(c_ptr), value | b, | ||
| integer(c_int), value | ldb, | ||
| type(c_ptr), value | c, | ||
| integer(c_int), value | ldc, | ||
| type(c_ptr), value | myinfo | ||
| ) |
The documentation for this interface was generated from the following file: