order w.r.t the edges
parent
c2ddf330e7
commit
fe2dfe81d4
Binary file not shown.
|
@ -10,13 +10,10 @@ while ~isempty(parents)
|
||||||
node_levels(parents) = current_level;
|
node_levels(parents) = current_level;
|
||||||
current_level = current_level + 1;
|
current_level = current_level + 1;
|
||||||
end
|
end
|
||||||
max_level = current_level - 1;
|
[~, node_order] = sort(node_levels, 'descend'); % the order of the nodes in leaves-to-root order
|
||||||
|
|
||||||
ordering = Ordering();
|
ordering = Ordering();
|
||||||
for level = max_level:-1:1
|
for i = 1:length(node_order)
|
||||||
ids = find(node_levels==level);
|
ordering.push_back(sprintf('x%d', node_order(i)));
|
||||||
for i = 1:length(ids)
|
|
||||||
ordering.push_back(sprintf('x%d', ids(i)));
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
|
@ -10,15 +10,14 @@ factors = Pose2Graph;
|
||||||
factors2 = Pose2Graph;
|
factors2 = Pose2Graph;
|
||||||
ord2 = Ordering();
|
ord2 = Ordering();
|
||||||
|
|
||||||
[~, idx] = sort(way_levels, 'descend');
|
[rows cols] = find(tree);
|
||||||
|
for i=1:length(edge_order)
|
||||||
for i=1:length(idx)
|
|
||||||
if mod(i,500) == 0
|
if mod(i,500) == 0
|
||||||
fprintf(1, 'processing way %d\n', i);
|
fprintf(1, 'processing edge %d\n', i);
|
||||||
end
|
end
|
||||||
for j=1:length(ways{idx(i)})-1
|
|
||||||
id1 = ways{idx(i)}(j);
|
id1 = rows(edge_order(i));
|
||||||
id2 = ways{idx(i)}(j+1);
|
id2 = cols(edge_order(i));
|
||||||
key1 = sprintf('x%d', id1);
|
key1 = sprintf('x%d', id1);
|
||||||
key2 = sprintf('x%d', id2);
|
key2 = sprintf('x%d', id2);
|
||||||
|
|
||||||
|
@ -35,7 +34,6 @@ for i=1:length(idx)
|
||||||
ord2.push_back(key2);
|
ord2.push_back(key2);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
ord2.unique();
|
ord2.unique();
|
||||||
|
|
||||||
if 1
|
if 1
|
||||||
|
@ -61,11 +59,11 @@ figure(1)
|
||||||
spy(A);
|
spy(A);
|
||||||
%save('beijing_factors.mat', 'factors');
|
%save('beijing_factors.mat', 'factors');
|
||||||
|
|
||||||
LFG2=factors2.linearize_(config);
|
% LFG2=factors2.linearize_(config);
|
||||||
ijs2=LFG2.sparse(ord2);
|
% ijs2=LFG2.sparse(ord2);
|
||||||
A2=sparse(ijs2(1,:),ijs2(2,:),ijs2(3,:));
|
% A2=sparse(ijs2(1,:),ijs2(2,:),ijs2(3,:));
|
||||||
figure(2)
|
% figure(2)
|
||||||
spy(A2);
|
% spy(A2);
|
||||||
|
|
||||||
% show R factor
|
% show R factor
|
||||||
R = qr(A,0);
|
R = qr(A,0);
|
||||||
|
@ -73,9 +71,9 @@ figure(3)
|
||||||
spy(R)
|
spy(R)
|
||||||
|
|
||||||
% show re-ordered R factor
|
% show re-ordered R factor
|
||||||
P = colamd(A);
|
% P = colamd(A);
|
||||||
figure(4)
|
% figure(4)
|
||||||
spy(A(:,P))
|
% spy(A(:,P))
|
||||||
R = qr(A(:,P),0);
|
% R = qr(A(:,P),0);
|
||||||
figure(5)
|
% figure(5)
|
||||||
spy(R)
|
% spy(R)
|
||||||
|
|
Loading…
Reference in New Issue