about summary refs log tree commit diff
path: root/sourcecodes/bnt-master/SLP/misc/pdag_unsigned_to_signed.m
blob: 37b414f12f7364feb6ea8a83fa130f0702ca867b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function signed_pdag = pdag_unsigned_to_signed(pdag)

% Input: pdag with '1' in one place for every directed edge and 
%                  '1' in two places for every undirected edge
% 
% Output: pdag with '-1' in one place for every directed edge
%                   '1' in two places for every undirected edge
%
% This function is used by Markov_equivalent_dags(dag) to convert 
% output of SLP function dag_to_cpdag(dag) 
% to format required as input for pdag_to_all_dags(pdag).
%
% I'm sure there's a prettier way to code this!
%
% Imme Ebert-Uphoff (ebert@tree.com), 2007
%

  undirected = ( (pdag+pdag')/2 == 1); % extract undirected eges
  directed   = pdag - undirected;       % extract directed edges
  signed_pdag = undirected - directed; % 1s for undirected, (-1)s for directed