Daniel@0: function [A1, A2, B1, B2, C11, C12, C21, C22] = partition_matrix_vec_3(A, B, C, n1, n2, bs) Daniel@0: Daniel@0: dom = myunion(n1, n2); Daniel@0: n1i = block(find_equiv_posns(n1, dom), bs(dom)); Daniel@0: n2i = block(find_equiv_posns(n2, dom), bs(dom)); Daniel@0: Daniel@0: Daniel@0: A1 = A(n1i); Daniel@0: A2 = A(n2i); Daniel@0: if isempty(B) Daniel@0: B1 = zeros(size(n1i, 2),size(B, 2)); Daniel@0: B2 = zeros(size(n2i, 2),size(B, 2)); Daniel@0: else Daniel@0: B1 = B(n1i, :); Daniel@0: B2 = B(n2i, :); Daniel@0: end Daniel@0: Daniel@0: Daniel@0: C11 = C(n1i, n1i); Daniel@0: C12 = C(n1i, n2i); Daniel@0: C21 = C(n2i, n1i); Daniel@0: C22 = C(n2i, n2i);