Added feature to ensure zero diagonal is represented
This commit is contained in:
parent
c55d879cec
commit
131c643b78
@ -5,12 +5,21 @@ function [nv,ia,ja,a] = manalyze(A);
|
||||
%-----------------------------------------
|
||||
|
||||
% determine row/column indices of nonzero entries
|
||||
[ja, I, a] = find(A');
|
||||
% add to diagonal while determining indices to
|
||||
% ensure that diagonal will be present even if 0
|
||||
|
||||
d = diag(A);
|
||||
mn = min(d);
|
||||
shf=mn+1;
|
||||
[ja, I] = find(A'+shf*eye(size(A)));
|
||||
t = find(A'+shf*eye(size(A)));
|
||||
AA=A';
|
||||
a=full(AA(t));
|
||||
nv = size(A, 1);
|
||||
na = size(a, 1);
|
||||
|
||||
% compute ia and put diagonal entry first on each row
|
||||
|
||||
ia = zeros(nv+1, 1);
|
||||
ia(1) = 1;
|
||||
for i = 1 : nv
|
||||
@ -21,6 +30,7 @@ for i = 1 : nv
|
||||
end
|
||||
|
||||
% swap diagonal entry with first entry
|
||||
|
||||
if (ja(k) == i)
|
||||
tmp = a(ia(i));
|
||||
a(ia(i)) = a(k);
|
||||
|
||||
@ -5,12 +5,21 @@ function [nv,ia,ja,a] = manalyze(A);
|
||||
%-----------------------------------------
|
||||
|
||||
% determine row/column indices of nonzero entries
|
||||
[ja, I, a] = find(A');
|
||||
% add to diagonal while determining indices to
|
||||
% ensure that diagonal will be present even if 0
|
||||
|
||||
d = diag(A);
|
||||
mn = min(d);
|
||||
shf=mn+1;
|
||||
[ja, I] = find(A'+shf*eye(size(A)));
|
||||
t = find(A'+shf*eye(size(A)));
|
||||
AA=A';
|
||||
a=full(AA(t));
|
||||
nv = size(A, 1);
|
||||
na = size(a, 1);
|
||||
|
||||
% compute ia and put diagonal entry first on each row
|
||||
|
||||
ia = zeros(nv+1, 1);
|
||||
ia(1) = 1;
|
||||
for i = 1 : nv
|
||||
@ -21,6 +30,7 @@ for i = 1 : nv
|
||||
end
|
||||
|
||||
% swap diagonal entry with first entry
|
||||
|
||||
if (ja(k) == i)
|
||||
tmp = a(ia(i));
|
||||
a(ia(i)) = a(k);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user