We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 22d36f0 commit deec9feCopy full SHA for deec9fe
@hss/full.m
@@ -1,17 +1,19 @@
1
-function M = full(A)
2
-
3
-m = size(A, 1);
4
-n = size(A, 2);
5
6
-if m < n
7
- M = full(A')';
8
- return;
9
-end
10
11
-if A.topnode == 0
12
- A.topnode = 1;
13
- M = hss_mul(A, eye(n));
14
- A.topnode = 0;
15
-else
16
17
+function [M, U, V] = full(H)
+ if is_leafnode(H)
+ M = H.D;
+ U = H.U;
+ V = H.V;
+ else
+ [M11, U1, V1] = full(H.A11);
+ [M22, U2, V2] = full(H.A22);
+
+ M = [ M11 , U1 * H.B12 * V2' ; U2 * H.B21 * V1', M22 ];
+ if ~H.topnode
+ U = blkdiag(U1, U2) * [ H.Rl ; H.Rr ];
+ V = blkdiag(V1, V2) * [ H.Wl ; H.Wr ];
+ U = []; V = [];
+ end
18
19
+end
0 commit comments