Daniel@0: function pot = enter_cts_evidence_pot(pot, Y, y) Daniel@0: % function pot = enter_cts_evidence_pot(pot, Y, y) (cpot) Daniel@0: Daniel@0: ns = sparse(1, max(pot.domain)); Daniel@0: ns(pot.domain) = pot.sizes; Daniel@0: Daniel@0: X = mysetdiff(pot.domain, Y); Daniel@0: [hx, hy, KXX, KXY, KYX, KYY] = partition_matrix_vec(pot.h, pot.K, X, Y, ns); Daniel@0: pot.g = pot.g + hy'*y - 0.5*y'*KYY*y; Daniel@0: if ~isempty(X) Daniel@0: pot.h = hx - KXY*y; Daniel@0: pot.K = KXX; Daniel@0: end Daniel@0: Daniel@0: pot.sizes(find_equiv_posns(Y,pot.domain)) = 0;