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.

Syntax

namespace oneapi::mkl::lapack {
template <typename T>
std::int64_t trtrs_scratchpad_size(cl::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 array a.

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