# tbsv (USM Version)¶

Solves a system of linear equations whose coefficients are in a triangular band matrix.

Syntax

event `tbsv`(queue &exec_queue, uplo upper_lower, transpose trans, diag unit_nonunit, std::int64_t n, std::int64_t k, const T *a, std::int64_t lda, T *x, std::int64_t incx, const vector_class<event> &dependencies = {})

The USM version of `tbsv` supports the following precisions and devices.

T

Devices Supported

`float`

Host, CPU, and GPU

`double`

Host, CPU, and GPU

`std::complex<float>`

Host, CPU, and GPU

`std::complex<double>`

Host, CPU, and GPU

Description

The tbsv routines solve a system of linear equations whose coefficients are in a triangular band matrix. The operation is defined as

```op(A)*x = b
```

where:

op(`A`) is one of op(`A`) = `A`, or op(`A`) = `A`T, or op(`A`) = `A`H,

`A` is an `n`-by-`n` unit or non-unit, upper or lower triangular band matrix, with (`k` + 1) diagonals,

`b` and `x` are vectors of length `n`.

Input Parameters

exec_queue

The queue where the routine should be executed.

upper_lower

Specifies whether `A` is upper or lower triangular. See Data Types for more details.

trans

Specifies op(`A`), the transposition operation applied to `A`. See Data Types for more details.

unit_nonunit

Specifies whether the matrix `A` is unit triangular or not. See Data Types for more details.

n

Number of rows and columns of `A`. Must be at least zero.

k

Number of sub/super-diagonals of the matrix `A`. Must be at least zero.

a

Pointer to input matrix `A`. The array holding input matrix `A` must have size at least `lda`*`n`. See Matrix and Vector Storage for more details.

lda

Leading dimension of matrix `A`. Must be at least (`k` + 1), and positive.

x

Pointer to input vector `x`. The array holding input vector `x` must be of size at least (1 + (`n` - 1)*abs(`incx`)). See Matrix and Vector Storage for more details.

incx

Stride of vector `x`.

dependencies

List of events to wait for before starting computation, if any. If omitted, defaults to no dependencies.

Output Parameters

x

Pointer to the solution vector `x`.

Return Values

Output event to wait on to ensure computation is complete.