cblas_?trsv
cblas_?trsv
Solves a system of linear equations whose coefficients are in a triangular matrix.
Syntax
void
cblas_strsv
(
const
CBLAS_LAYOUT
Layout
,
const
CBLAS_UPLO
uplo
,
const
CBLAS_TRANSPOSE
trans
,
const
CBLAS_DIAG
diag
,
const
MKL_INT
n
,
const
float
*a
,
const
MKL_INT
lda
,
float
*x
,
const
MKL_INT
incx
);
void
cblas_dtrsv
(
const
CBLAS_LAYOUT
Layout
,
const
CBLAS_UPLO
uplo
,
const
CBLAS_TRANSPOSE
trans
,
const
CBLAS_DIAG
diag
,
const
MKL_INT
n
,
const
double
*a
,
const
MKL_INT
lda
,
double
*x
,
const
MKL_INT
incx
);
void
cblas_ctrsv
(
const
CBLAS_LAYOUT
Layout
,
const
CBLAS_UPLO
uplo
,
const
CBLAS_TRANSPOSE
trans
,
const
CBLAS_DIAG
diag
,
const
MKL_INT
n
,
const
void
*a
,
const
MKL_INT
lda
,
void
*x
,
const
MKL_INT
incx
);
void
cblas_ztrsv
(
const
CBLAS_LAYOUT
Layout
,
const
CBLAS_UPLO
uplo
,
const
CBLAS_TRANSPOSE
trans
,
const
CBLAS_DIAG
diag
,
const
MKL_INT
n
,
const
void
*a
,
const
MKL_INT
lda
,
void
*x
,
const
MKL_INT
incx
);
Include Files
- mkl.h
Description
The
?trsv
routines solve one of the systems of equations:A
*x
= b
A
'*x
= b
conjg(
,A
')*x
= b
where:
b
and x
are n
-element vectors,A
is an n
-by-n
unit, or non-unit, upper or lower triangular matrix.The routine does not test for singularity or near-singularity.
Such tests must be performed before calling this routine.
Input Parameters
- Layout
- Specifies whether two-dimensional array storage is row-major (CblasRowMajor) or column-major (CblasColMajor).
- uplo
- Specifies whether the matrixAis upper or lower triangular:uplo=CblasUpperif, then the matrix is low triangular.uplo=CblasLower
- trans
- Specifies the systems of equations:if, thentrans=CblasNoTrans;A*x=bif, thentrans=CblasTrans;A'*x=bif, thentrans=CblasConjTransoconjg(.A')*x=b
- diag
- Specifies whether the matrixAis unit triangular:ifthen the matrix is unit triangular;diag=CblasUnitif, then the matrix is not unit triangular.diag=CblasNonUnit
- n
- Specifies the order of the matrixA. The value ofnmust be at least zero.
- a
- Array, size. Before entry withlda*n, the leadinguplo=CblasUppern-by-nupper triangular part of the arrayamust contain the upper triangular matrix and the strictly lower triangular part ofais not referenced. Before entry with, the leadinguplo=CblasLowern-by-nlower triangular part of the arrayamust contain the lower triangular matrix and the strictly upper triangular part ofais not referenced.When, the diagonal elements ofdiag=CblasUnitaare not referenced either, but are assumed to be unity.
- lda
- Specifies the leading dimension ofaas declared in the calling (sub)program. The value ofldamust be at leastmax(1,.n)
- x
- Array, size at least(1 + (. Before entry, the incremented arrayn- 1)*abs(incx))xmust contain then-element right-hand side vectorb.
- incx
- Specifies the increment for the elements ofx.The value ofincxmust not be zero.
Output Parameters
- x
- Overwritten with the solution vectorx.