trtrs_scratchpad_size#
Computes size of scratchpad memory required for trtrs function.
Description
trtrs_scratchpad_size
supports the following precisions.
T
float
double
std::complex<float>
std::complex<double>
Computes the number of elements of type T
the scratchpad memory to be passed to trtrs function should be able to hold.
Calls to this routine must specify the template parameter explicitly.
trtrs_scratchpad_size#
Syntax
namespace oneapi::mkl::lapack {
template <typename T>
std::int64_t trtrs_scratchpad_size(sycl::queue &queue, oneapi::mkl::uplo upper_lower, oneapi::mkl::transpose trans, oneapi::mkl::diag diag, std::int64_t n, std::int64_t nrhs, std::int64_t lda, std::int64_t ldb)
}
Input Parameters
- queue
Device queue where calculations by trtrs function will be performed.
- upper_lower
Indicates whether \(A\) is upper or lower triangular:
If upper_lower =
uplo::upper
, then \(A\) is upper triangular.If upper_lower =
uplo::lower
, then \(A\) is lower triangular.- trans
Indicates the form of the equations:
If
trans=oneapi::mkl::transpose::nontrans
, then \(AX = B\) is solved for \(X\).If
trans=oneapi::mkl::transpose::trans
, then \(A^TX = B\) is solved for \(X\).If
trans=oneapi::mkl::transpose::conjtrans
, then \(A^HX = B\) is solved for \(X\).- diag
If diag =
oneapi::mkl::diag::nonunit
, then \(A\) is not a unit triangular matrix.If unit_diag =
diag::unit
, then \(A\) is unit triangular: diagonal elements of \(A\) are assumed to be 1 and not referenced in the arraya
.- n
The order of \(A\); the number of rows in \(B\); \(n \ge 0\).
- nrhs
The number of right-hand sides (\(0 \le \text{nrhs}\)).
- lda
The leading dimension of
a
; \(\text{lda} \ge \max(1, n)\).- ldb
The leading dimension of
b
; \(\text{ldb} \ge \max(1, n)\).
Return Value
The number of elements of type T
the scratchpad memory to be passed to trtrs function should be able to hold.
Parent topic: LAPACK Linear Equation Routines