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