Function

# cblas_ctbsv(_:_:_:_:_:_:_:_:_:_:)

Solves a triangular banded system of equations.

SDKs

- iOS 4.0+
- macOS 10.2+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+

## Parameters

`Order`

Specifies row-major (C) or column-major (Fortran) data ordering.

`Uplo`

Specifies whether to use the upper or lower triangle from the matrix. Valid values are `'U'`

or `'L'`

.

`TransA`

Specifies whether to use matrix A (`'N'`

or `'n'`

) or the transpose of A (`'T'`

, `'t'`

, `'C'`

, or `'c'`

).

`Diag`

Specifies whether the matrix is unit triangular. Possible values are `'U'`

(unit triangular) or `'N'`

(not unit triangular).

`N`

`K`

Number of superdiagonals or subdiagonals of matrix `A`

(depending on the value of `Uplo`

).

`A`

`lda`

The leading dimension of matrix `A`

.

`X`

Contains vector `B`

on entry. Overwritten with vector `X`

on return.

`incX`

Stride within `X`

. For example, if `incX`

is 7, every 7th element is used.

## Discussion

Solves the system of equations `A*X=B`

or `A'*X=B`

, depending on the value of `TransA`

.

## See Also

### Single-Precision Complex Matrix Functions

`func cblas_cgbmv(CBLAS_ORDER, CBLAS_TRANSPOSE, Int32, Int32, Int32, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, Int32, UnsafeRawPointer!, UnsafeMutableRawPointer!, Int32)`

Scales a general band matrix, then multiplies by a vector, then adds a vector (single-precision complex).

`func cblas_cgemm(CBLAS_ORDER, CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, Int32, Int32, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, Int32, UnsafeRawPointer!, UnsafeMutableRawPointer!, Int32)`

Multiplies two matrices (single-precision complex).

`func cblas_cgemv(CBLAS_ORDER, CBLAS_TRANSPOSE, Int32, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, Int32, UnsafeRawPointer!, UnsafeMutableRawPointer!, Int32)`

Multiplies a matrix by a vector (single-precision complex).

`func cblas_cgerc(CBLAS_ORDER, Int32, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, Int32, UnsafeMutableRawPointer!, Int32)`

Multiplies vector X by the conjugate transpose of vector Y, then adds matrix A (single-precision complex).

`func cblas_cgeru(CBLAS_ORDER, Int32, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, Int32, UnsafeMutableRawPointer!, Int32)`

Multiplies vector X by the transpose of vector Y, then adds matrix A (single-precision complex).

`func cblas_chbmv(CBLAS_ORDER, CBLAS_UPLO, Int32, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, Int32, UnsafeRawPointer!, UnsafeMutableRawPointer!, Int32)`

Scales a Hermitian band matrix, then multiplies by a vector, then adds a vector (single-precision complex).

`func cblas_chemm(CBLAS_ORDER, CBLAS_SIDE, CBLAS_UPLO, Int32, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, Int32, UnsafeRawPointer!, UnsafeMutableRawPointer!, Int32)`

Multiplies two Hermitian matrices (single-precision complex), then adds a third (with scaling).

`func cblas_chemv(CBLAS_ORDER, CBLAS_UPLO, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, Int32, UnsafeRawPointer!, UnsafeMutableRawPointer!, Int32)`

Scales and multiplies a Hermitian matrix by a vector, then adds a second (scaled) vector.

`func cblas_cher2(CBLAS_ORDER, CBLAS_UPLO, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, Int32, UnsafeMutableRawPointer!, Int32)`

Hermitian rank 2 update: adds the product of a scaling factor, vector `X`

, and the conjugate transpose of vector `Y`

to the product of the conjugate of the scaling factor, vector `Y`

, and the conjugate transpose of vector `X`

, and adds the result to matrix `A`

.

`func cblas_cher2k(CBLAS_ORDER, CBLAS_UPLO, CBLAS_TRANSPOSE, Int32, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, Int32, Float, UnsafeMutableRawPointer!, Int32)`

Performs a rank-2k update of a complex Hermitian matrix (single-precision complex).

`func cblas_cherk(CBLAS_ORDER, CBLAS_UPLO, CBLAS_TRANSPOSE, Int32, Int32, Float, UnsafeRawPointer!, Int32, Float, UnsafeMutableRawPointer!, Int32)`

Rank-k update—multiplies a Hermitian matrix by its transpose and adds a second matrix (single precision).

`func cblas_chpmv(CBLAS_ORDER, CBLAS_UPLO, Int32, UnsafeRawPointer!, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, UnsafeMutableRawPointer!, Int32)`

Scales a packed hermitian matrix, multiplies it by a vector, and adds a scaled vector.

`func cblas_chpr2(CBLAS_ORDER, CBLAS_UPLO, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, Int32, UnsafeMutableRawPointer!)`

Multiplies a vector times the conjugate transpose of a second vector and vice-versa, sums the results, and adds a matrix.

`func cblas_csymm(CBLAS_ORDER, CBLAS_SIDE, CBLAS_UPLO, Int32, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, Int32, UnsafeRawPointer!, UnsafeMutableRawPointer!, Int32)`

Multiplies a matrix by a symmetric matrix (single-precision complex).

`func cblas_csyr2k(CBLAS_ORDER, CBLAS_UPLO, CBLAS_TRANSPOSE, Int32, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, Int32, UnsafeRawPointer!, UnsafeMutableRawPointer!, Int32)`

Performs a rank-2k update of a symmetric matrix (single-precision complex).

`func cblas_csyrk(CBLAS_ORDER, CBLAS_UPLO, CBLAS_TRANSPOSE, Int32, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeRawPointer!, UnsafeMutableRawPointer!, Int32)`

Rank-k update—multiplies a symmetric matrix by its transpose and adds a second matrix (single-precision complex).

`func cblas_ctbmv(CBLAS_ORDER, CBLAS_UPLO, CBLAS_TRANSPOSE, CBLAS_DIAG, Int32, Int32, UnsafeRawPointer!, Int32, UnsafeMutableRawPointer!, Int32)`

Scales a triangular band matrix, then multiplies by a vector (single-precision compex).

`func cblas_ctrmm(CBLAS_ORDER, CBLAS_SIDE, CBLAS_UPLO, CBLAS_TRANSPOSE, CBLAS_DIAG, Int32, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeMutableRawPointer!, Int32)`

Scales a triangular matrix and multiplies it by a matrix.

`func cblas_ctrsm(CBLAS_ORDER, CBLAS_SIDE, CBLAS_UPLO, CBLAS_TRANSPOSE, CBLAS_DIAG, Int32, Int32, UnsafeRawPointer!, UnsafeRawPointer!, Int32, UnsafeMutableRawPointer!, Int32)`

Solves a triangular system of equations with multiple values for the right side.