cblas_?tpsv
cblas_?tpsv
Solves a system of linear equations whose coefficients are in a triangular packed matrix.
Syntax
void
cblas_stpsv
(
const
CBLAS_LAYOUT
Layout
,
const
CBLAS_UPLO
uplo
,
const
CBLAS_TRANSPOSE
trans
,
const
CBLAS_DIAG
diag
,
const
MKL_INT
n
,
const
float
*ap
,
float
*x
,
const
MKL_INT
incx
);
void
cblas_dtpsv
(
const
CBLAS_LAYOUT
Layout
,
const
CBLAS_UPLO
uplo
,
const
CBLAS_TRANSPOSE
trans
,
const
CBLAS_DIAG
diag
,
const
MKL_INT
n
,
const
double
*ap
,
double
*x
,
const
MKL_INT
incx
);
void
cblas_ctpsv
(
const
CBLAS_LAYOUT
Layout
,
const
CBLAS_UPLO
uplo
,
const
CBLAS_TRANSPOSE
trans
,
const
CBLAS_DIAG
diag
,
const
MKL_INT
n
,
const
void
*ap
,
void
*x
,
const
MKL_INT
incx
);
void
cblas_ztpsv
(
const
CBLAS_LAYOUT
Layout
,
const
CBLAS_UPLO
uplo
,
const
CBLAS_TRANSPOSE
trans
,
const
CBLAS_DIAG
diag
,
const
MKL_INT
n
,
const
void
*ap
,
void
*x
,
const
MKL_INT
incx
);
Include Files
- mkl.h
Description
The
?tpsv
routines solve one of the following systems of equationsA
*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, supplied in packed form.This 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 system of equations:if, thentrans=CblasNoTrans;A*x=bif, thentrans=CblasTrans;A'*x=bif, thentrans=CblasConjTransconjg(.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.
- ap
- Array, size at least((.n*(n+ 1))/2)ForLayout=CblasColMajor:Before entry with, the arrayuplo=CblasUpperapmust contain the upper triangular part of the triangular matrix packed sequentially, column-by-column, so thatrespectively, and so on.containsap[0]A1, 1,andap[1]containap[2]A1, 2andA2, 2Before entry with, the arrayuplo=CblasLowerapmust contain the lower triangular part of the triangular matrix packed sequentially, column-by-column, so thatrespectively, and so on.containsap[0]A1, 1,andap[1]containap[2]A2, 1andA3, 1ForLayout=CblasRowMajor:Before entry withuplo=CblasUpper, the arrayapmust contain the upper triangular part of the triangular matrix packed sequentially, row-by-row,ap[0]containsA1, 1,ap[1]andap[2]containA1, 2andA1, 3respectively, and so on. Before entry withuplo=CblasLower, the arrayapmust contain the lower triangular part of the triangular matrix packed sequentially, row-by-row, so thatap[0]containsA1, 1,ap[1]andap[2]containA2, 1andA2, 2respectively, and so on.When, the diagonal elements ofdiag=CblasUnitaare not referenced, but are assumed to be unity.
- 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.