* Bug #8210 fixed - Inserting UMFPACK examples in the Demos gui as demos
[scilab.git] / scilab / modules / umfpack / tests / unit_tests / taucs_chget.dia.ref
1 // ============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2007-2008 - Bruno PINCON
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // ============================================================================
7 // <-- TEST WITH GRAPHIC -->
8 // Example #1 : a small linear test system
9 A = sparse( [ 2 -1  0  0  0;
10 -1  2 -1  0  0;
11 0 -1  2 -1  0;
12 0  0 -1  2 -1;
13 0  0  0 -1  2] );
14 Cp = taucs_chfact(A);
15 [Ct, p] = taucs_chget(Cp);
16 full(A(p,p) - Ct'*Ct);  // this must be near the null matrix
17 taucs_chdel(Cp);
18 // Example #2 a real example
19 // first load a sparse matrix
20 [A] = ReadHBSparse(SCI+"/modules/umfpack/demos/bcsstk24.rsa");
21 // compute the factorization
22 Cptr = taucs_chfact(A);
23 // retrieve the factor at scilab level
24 [Ct, p] = taucs_chget(Cptr);
25 // plot the initial matrix
26 xset("window",0) ; clf();
27 PlotSparse(A) ; xtitle("Initial matrix A (bcsstk24.rsa)");
28 // plot the permuted matrix
29 B = A(p,p);
30 xset("window",1) ; clf();
31 PlotSparse(B) ; xtitle("Permuted matrix B = A(p,p)");
32 // plot the upper triangle Ct
33 xset("window",2) ; clf();
34 PlotSparse(Ct) ; xtitle("The pattern of Ct (A(p,p) = C*Ct)");
35 // retrieve cnz
36 [OK, n, cnz] = taucs_chinfo(Cptr);
37 // cnz is superior to the realnumber of non zeros elements of C :
38 cnz_exact = nnz(Ct);
39 // don't forget to clear memory
40 taucs_chdel(Cptr);