(S|D|C|Z)POSV

Single, double, single complex, and double complex POSV.

Description

Solves a system of linear equations for multiple right-hand sides for positive definite matrices.

A \mult X = B

Uses Cholesky decomposition to factor A.

If UPLO is ‘U’ then A is factored using an upper triangular matrix U:

A = \herm{U} \mult U

If UPLO is ‘L’ then A is factored using a lower triangular matrix L:

A = L \mult \herm{L}

The factored form is used to solve the system of equations.

LAPACK Interface

void sposv(const char *UPLO, const qml_long *N, const qml_long *NRHS, float *A,
    const qml_long *LDA, float *B, const qml_long *LDB, qml_long *INFO);

void dposv(const char *UPLO, const qml_long *N, const qml_long *NRHS, double *A,
    const qml_long *LDA, double *B, const qml_long *LDB, qml_long *INFO);

void cposv(const char *UPLO, const qml_long *N, const qml_long *NRHS,
    qml_single_complex *A, const qml_long *LDA, qml_single_complex *B,
    const qml_long *LDB, qml_long *INFO);

void zposv(const char *UPLO, const qml_long *N, const qml_long *NRHS,
    qml_double_complex *A, const qml_long *LDA, qml_double_complex *B,
    const qml_long *LDB, qml_long *INFO);

Arguments

UPLO Specify whether to factor using ‘U’ upper triangular or ‘L’ lower triangular
N Number of linear equations, order of the matrix A
NRHS Number of right hand sides, number of columns of B
A Matrix of size N x N, overwritten with factorization on exit
LDA Leading dimension of A
B On entry, the N x NRHS matrix B, on exit the solution matrix
LDB Leading dimension of B
INFO 0 on success, <0 on illegal arguments, >0 if not positive definite