Change language to:
English - Français - Português - Русский

See the recommended documentation of this function

Scilabヘルプ >> UMFPACK Interface > taucs_chsolve

# taucs_chsolve

solves a linear s.p.d. system A*X = B from Cholesky factors of the sparse A

### Syntax

`[x] = taucs_chsolve(C_ptr, b [, A])`

### Arguments

C_ptr

a pointer to a handle of the Cholesky factors (C,p with A(p,p)=CC')

b

a real column vector or a matrix (multiple rhs)

x

a real column vector or a matrix in case of multiple rhs ( x(:,i) is solution of A x(:,i) = b(:,i))

A

(optional) Real symetric positive definite (s.p.d.) matrix (to use for iterative refinement step)

### Description

This function must be used in conjunction with taucs_chfact which computes the Cholesky factorization of a sparse real s.p.d. matrix. When the matrix `A` is provided, one iterative refinement step is done (the refined solution is accepted if it improves the 2-norm of the residual `Ax-b`).

Like in taucs_chfact the matrix A may be provided either in its complete form (that is with the lower triangle also) or only with its upper triangle.

### Examples

// We get some square sparse matrix that we are sure it is symetric positive definite: A = ReadHBSparse(SCI+"/modules/umfpack/demos/bcsstk24.rsa"); size(A) // We priorly compute its related Cholesky factors: Cfact = taucs_chfact(A); // We generate an arbitrary b for which we will look for an X such that A*x = b b = rand(size(A,1),1); // We call the solver x = taucs_chsolve(Cfact, b); // We accurately compute the numerical error r = A*x - b : r = res_with_prec(A, x, b); stdev(r, "*", 0) norm(r)

Other examples are provided in the taucs_chfact page.