get information on Cholesky factors
[OK, n, cnz] = taucs_chinfo(C_ptr)
a pointer to a Cholesky factorization
a scalar boolean
a scalar integer
a scalar integer
This function may be used to know basic information about the Cholesky factor created with taucs_chfact :
first OK
is %t
if C_ptr
is a valid pointer to an Cholesky
factorization (and %f
else)
if OK
is %t
then n
and cnz
are respectively the
matrix order and the number of non zeros elements in the supernodal structure storing
C
; if OK
is %f
, n
and cnz
are set
to the void matrix [].
Due to the supernodal structure used for C
, cnz
is larger
than the exact number of non-zeros elements in C
(and so this cnz
is a measure of the memory used internally). To get the exact cnz
you may retrieve
the Cholesky factor with taucs_chget then apply
the nnz scilab function (see the 2d example in taucs_chget).
// Example #1 : a small linear test system // whom solution must be [1;2;3;4;5] A = sparse( [ 2 -1 0 0 0; -1 2 -1 0 0; 0 -1 2 -1 0; 0 0 -1 2 -1; 0 0 0 -1 2] ); b = [0 ; 0; 0; 0; 6]; Cp = taucs_chfact(A); [OK, n, cnz]=taucs_chinfo(Cp) | ![]() | ![]() |
// Example #2 a real example // first load a sparse matrix [A] = ReadHBSparse(SCI+"/modules/umfpack/demos/bcsstk24.rsa"); // compute the factorization Cp = taucs_chfact(A); [OK, n, cnz]=taucs_chinfo(Cp) | ![]() | ![]() |