This file is indexed.

/usr/share/octave/site/m/vlfeat/toolbox/xtest/vl_test_aib.m is in octave-vlfeat 0.9.17+dfsg0-6+b1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
function results = vl_test_aib(varargin)
% VL_TEST_AIB
vl_test_init ;

function s = setup()
s = [] ;

function test_basic(s)
Pcx = [.3 .3 0   0
       0   0   .2 .2] ;

% This results in the AIB tree
%
%  1 - \
%       5 - \
%  2 - /     \
%             - 7
%  3 - \     /
%       6 - /
%  4 - /
%
% coded by the map [5 5 6 6 7 1] (1 denotes the root).

[parents,cost] = vl_aib(Pcx) ;
vl_assert_equal(parents, [5 5 6 6 7 7 1]) ;
vl_assert_almost_equal(mi(Pcx)*[1 1 1], cost(1:3), 1e-3) ;

[cut,map,short] = vl_aibcut(parents,2) ;
vl_assert_equal(cut, [5 6]) ;
vl_assert_equal(map, [1 1 2 2 1 2 0]) ;
vl_assert_equal(short, [5 5 6 6 5 6 7]) ;

function test_cluster_null(s)
Pcx = [.5 .5   0   0
       0   0   0   0] ;

% This results in the AIB tree
%
%  1 - \
%       5
%  2 - /
%
%  3 x
%
%  4 x
%
% If ClusterNull is specified, the values 3 and 4
% which have zero probability are merged first
%
%  1 ----------\
%               7
%  2 ----- \   /
%           6-/
%  3 -\    /
%      5 -/
%  4 -/

parents1 = vl_aib(Pcx) ;
parents2 = vl_aib(Pcx,'ClusterNull') ;
vl_assert_equal(parents1, [5 5 0 0 1 0 0]) ;
vl_assert_equal(parents2(3), parents2(4)) ;

function x = mi(P)
% mutual information
P1 = sum(P,1) ;
P2 = sum(P,2) ;
x = sum(sum(P .* log(max(P,1e-10) ./ (P2*P1)))) ;