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(cl::sycl::queue &queue, onemkl::uplo upper_lower, onemkl::transpose trans, onemkl::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=onemkl::transpose::nontrans, then \(AX = B\) is solved for \(X\).

If trans=onemkl::transpose::trans, then \(A^TX = B\) is solved for \(X\).

If trans=onemkl::transpose::conjtrans, then \(A^HX = B\) is solved for \(X\).

diag

If diag = onemkl::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)\).

Throws

This routine shall throw the following exceptions if the associated condition is detected. An implementation may throw additional implementation-specific exception(s) in case of error conditions not covered here.

oneapi::mkl::unimplemented

oneapi::mkl::unsupported_device

oneapi::mkl::lapack::invalid_argument

Exception is thrown in case of incorrect supplied argument value. Position of wrong argument can be determined by info() method of exception object.

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