Group Castrillon

Group Description
Counter-example matrix (denormal in A+alpha*I), J. Castrillon, Teledyne

The problem is x=(A+alpha*I)\b as alpha varies from 0 to 100.  However
as this occurs, performance suffers because of the many denormals that
appear below the diagonal in L.

%-------------------------------------------------------------------------------
% consider the following code:
%-------------------------------------------------------------------------------

Problem = UFget ('Castrillon/denormal') ;
K = Problem.A ;

fprintf ('nnz (K-K'') = %d\n', nnz(K-K')) ;
fprintf ('nnz (diag (K)): %d\n', nnz (diag (K))) ;

p = amd (K) ;
[count, h, parent, post, Lpattern] = symbfact (K(p,p), 'sym', 'lower') ;
fprintf ('nnz(K) %d nnz(L) %d\n', nnz(K), nnz(Lpattern)) ;

n = size (K,1) ;
rand ('state',0) ;
b = rand (n,1) ;
I = speye (n) ;

spparms ('spumoni',0) ;
maxNumCompThreads (1) ;

for alpha = [0 .01 .02 .1 .3 1 10 100]

  fprintf ('\n\n --------------------- alpha = %g:\n', alpha) ;

  A = K + alpha*I ;

  for threads = 1:2
      maxNumCompThreads (threads) ;
      fprintf ('threads: %d\n', threads) ;
      tic
      [L,ignore,p] = chol (A, 'lower') ;
      t = toc ;
      fprintf ('  chol time: %g nnz(L) %d (%d dropped)\n', ...
          t, nnz (L), nnz(Lpattern)-nnz(L)) ;

      [i j s] = find (L) ;
      fprintf ('  min(abs(L)): %g\n', min (abs (s))) ;
      clear L i j s

      tic
      x = A\b ;
      t = toc ;
      fprintf ('  backslash time: %g\n', t) ;
  end

end

%-------------------------------------------------------------------------------
% the output is below
%-------------------------------------------------------------------------------

diary off
tryK
---------------------------------------------------------------------------

MATLAB Version 7.6.0.324 (R2008a)
MATLAB License Number: 523006
Operating System: Linux 2.6.24-19-generic #1 SMP Wed Jun 18 14:43:41
UTC 2008 i686
Java VM Version: Java 1.6.0_01 with Sun Microsystems Inc. Java
HotSpot(TM) Client VM mixed mode, sharing
---------------------------------------------------------------------------

MATLAB                                                Version 7.6
(R2008a)
Optimization Toolbox                                  Version 4.0
(R2008a)
Symbolic Math Toolbox                                 Version 3.2.3
(R2008a)

Name          Size                  Bytes  Class     Attributes

K         89400x89400            14232292  double    sparse

nnz (K-K') = 0
nnz (diag (K)): 89400
nnz(K) 1156224 nnz(L) 8231641


--------------------- alpha = 0:
threads: 1
chol time: 3.04069 nnz(L) 8231641 (0 dropped)
min(abs(L)): 2.3735e-15
backslash time: 2.93038
threads: 2
chol time: 2.18102 nnz(L) 8231641 (0 dropped)
min(abs(L)): 2.3735e-15
backslash time: 2.0675


--------------------- alpha = 0.01:
threads: 1
chol time: 3.06346 nnz(L) 8231641 (0 dropped)
min(abs(L)): 7.68315e-168
backslash time: 2.95286
threads: 2
chol time: 2.19825 nnz(L) 8231641 (0 dropped)
min(abs(L)): 7.68315e-168
backslash time: 2.08248


--------------------- alpha = 0.02:
threads: 1
chol time: 3.58369 nnz(L) 8211304 (20337 dropped)
min(abs(L)): 7.90408e-200
backslash time: 3.4712
threads: 2
chol time: 2.48563 nnz(L) 8211304 (20337 dropped)
min(abs(L)): 7.90408e-200
backslash time: 2.39297


--------------------- alpha = 0.1:
threads: 1
chol time: 8.60043 nnz(L) 8231641 (0 dropped)
min(abs(L)): 1.32989e-295
backslash time: 8.49517
threads: 2
chol time: 5.83973 nnz(L) 8231641 (0 dropped)
min(abs(L)): 1.32989e-295
backslash time: 5.74531


--------------------- alpha = 0.3:
threads: 1
chol time: 14.6864 nnz(L) 8221018 (10623 dropped)
min(abs(L)): 9.88131e-324
backslash time: 14.5832
threads: 2
chol time: 9.6974 nnz(L) 8221018 (10623 dropped)
min(abs(L)): 9.88131e-324
backslash time: 9.56342


--------------------- alpha = 1:
threads: 1
chol time: 21.5543 nnz(L) 8161666 (69975 dropped)
min(abs(L)): 4.94066e-324
backslash time: 21.4453
threads: 2
chol time: 13.3063 nnz(L) 8161666 (69975 dropped)
min(abs(L)): 4.94066e-324
backslash time: 13.218


--------------------- alpha = 10:
threads: 1
chol time: 29.1026 nnz(L) 7957149 (274492 dropped)
min(abs(L)): 4.94066e-324
backslash time: 29.0284
threads: 2
chol time: 19.0662 nnz(L) 7957149 (274492 dropped)
min(abs(L)): 4.94066e-324
backslash time: 19.5602


--------------------- alpha = 100:
threads: 1
chol time: 31.3377 nnz(L) 7698212 (533429 dropped)
min(abs(L)): 4.94066e-324
backslash time: 31.1925
threads: 2
chol time: 20.2513 nnz(L) 7698212 (533429 dropped)
min(abs(L)): 4.94066e-324
backslash time: 20.1174
Displaying 1 collection matrix
Id Name Group Rows Cols Nonzeros Kind Date Download File
1892 denormal Castrillon 89,400 89,400 1,156,224 Counter Example Problem 2008 MATLAB Rutherford Boeing Matrix Market