<< perl 5-5-2 read4b >>
removed >> removed > 5-5-2 > rafiter

rafiter

Iterative refinement for a s.p.d. linear system

Calling Sequence

[xn, rn] = rafiter(A, C_ptr, b, x0)
[xn, rn] = rafiter(A, C_ptr, b, x0, nb_iter)
[xn, rn] = rafiter(A, C_ptr, b, x0, nb_iter, verb)

Arguments

A

a real symmetric positive definite sparse matrix

C_ptr

a pointer to a Cholesky factorization (got with taucs_chfact)

b

column vector (r.h.s of the linear system) but "matrix" (multiple r.h.s.) are allowed.

x0

first solution obtained with taucs_chsolve(C_ptr, b)

nb_iter

(optional) number of raffinement iterations (default 2)

verb

(optional) boolean, must be %t for displaying the intermediary results, and %f (default) if you do not want.

xn

new refined solution

rn

residual (A*xn - b)

Description

To use if you want to improve a little the solution got with taucs_chsolve. Note that with verb=%t the displayed internal steps are essentially meaningful in the case where b is a column vector.

Caution

Currently there is no verification for the input parameters !

Examples

[A] = ReadHBSparse(SCI+"/modules/umfpack/examples/bcsstk24.rsa");
C_ptr = taucs_chfact(A);
b = rand(size(A,1),1);
x0 = taucs_chsolve(C_ptr, b);
norm(A*x0 - b)
[xn, rn] = rafiter(A, C_ptr, b, x0, verb=%t);
norm(A*xn - b)
taucs_chdel(C_ptr)

See Also

History

VersionDescription
5.5.2 rafiter was removed after Scilab 5.5.2. Use x = taucs_chsolve(C_ptr,b,A) instead (see taucs_chsolve) which do one iterative refinement step.

<< perl 5-5-2 read4b >>