Plots the sensitivity of ILUT for A.
spilu_ilutpplot(A) data = spilu_ilutpplot(A) data = spilu_ilutpplot(A,N) [data,hLfil] = spilu_ilutpplot(...) [data,hLfil,hDrop] = spilu_ilutpplot(...) [data,hAlpha,hDrop,hPermtol] = spilu_ilutpplot(...) [data,hAlpha,hDrop,hPermtol,hBloc] = spilu_ilutpplot(...)
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
a graphics handle, the permtol plot
a graphics handle, the bloc 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
data(:,7) : the values of permtol
data(:,8) : the values of norm(P*A-L*U)/norm(A) with respect to permtol
data(:,9) : the values of nnz(L)+nnz(U) with respect to permtol
data(:,10) : the values of bloc
data(:,11) : the values of norm(P*A-L*U)/norm(A) with respect to bloc
data(:,12) : the values of nnz(L)+nnz(U) with respect to bloc
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_ilutpplot(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,hPermtol,hBloc] = spilu_ilutpplot(A); | ![]() | ![]() |