about summary refs log tree commit diff
path: root/sourcecodes/bnt-master/BNT/inference/static/@gaussian_inf_engine/marginal_nodes.m
blob: f3142cd544996b025f997ab518d5c70060429244 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function marginal = marginal_nodes(engine, query)
% MARGINAL_NODES Compute the marginal on the specified query nodes (gaussian)
% marginal = marginal_nodes(engine, query)

% Compute sum_{Hsum} Pr(Hkeep, Hsum | o)
H = engine.hnodes;
bnet = bnet_from_engine(engine);
ns = bnet.node_sizes;
Hkeep = myintersect(H, query);
Hsum = mysetdiff(H, Hkeep);

[marginal.mu, marginal.Sigma] = marginalize_gaussian(engine.Hmu, engine.HSigma, Hkeep, Hsum, ns);
marginal.domain = query;
marginal.T = 1;