Plots the sensitivity of ILUT for A.
spilu_ilutplot(A) data = spilu_ilutplot(A) data = spilu_ilutplot(A,N) [data,hLfil] = spilu_ilutplot(...) [data,hLfil,hDrop] = spilu_ilutplot(...)
a n-by-n sparse matrix
a 1-by-1 matrix of doubles, integer value, the number of points in the plot (default N = 100).
a N-by-6 matrix of doubles, the values of the parameters
a graphics handle, the lfil plot
a graphics handle, the drop plot
For one particular matrix, plot norm(A-L*U)/norm(A) and nnz(L)+nnz(U), depending on lfil and drop for the ILUT method.
The columns of the array data are:
data(:,1) : the values of lfil
data(:,2) : the values of norm(A-L*U)/norm(A) with respect to lfil
data(:,3) : the values of nnz(L)+nnz(U) with respect to lfil
data(:,4) : the values of drop
data(:,5) : the values of norm(A-L*U)/norm(A) with respect to drop
data(:,6) : the values of nnz(L)+nnz(U) with respect to drop
If the decomposition does not work for one value of the parameter, then norm(A-L*U)/norm(A) and nnz(L)+nnz(U) are set to Infinity.
A = [ 10. -6. -1. 0. 3. -6. 34. 0. 10. 0. -1. 0. 1. 0. 0. 0. 10. 0. 10. 0. 3. 0. 0. 0. 3. ]; A = sparse(A); spilu_ilutplot(A); // See on a 225-by-225 sparse matrix path = spilu_getpath ( ); filename = fullfile(path,"tests","matrices","pde225.mtx"); A=mmread(filename); [data,hLfil,hDrop] = spilu_ilutplot(A); // The drop parameter is not sensitive: delete(hDrop) // Look at the lfil plot. hLfil.children(1).data_bounds(2,1) = 20; hLfil.children(2).data_bounds(2,1) = 20; | ![]() | ![]() |