/usr/share/octave/site/m/vlfeat/toolbox/misc/vl_alldist2.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 68 69 | % VL_ALLDIST2 Pairwise distances
% D = VL_ALLDIST2(X,Y) returns the pairwise distance matrix D of the
% columns of S1 and S2, yielding
%
% D(i,j) = sum (X(:,i) - Y(:,j)).^2
%
% VL_ALLDIST2(X) returns the pairwise distance matrix fo the columns of
% S, yielding
%
% D(i,j) = sum (X(:,i) - X(:,j)).^2
%
% VL_ALLDIST2(...,'METRIC') changes the computed distance. Supported
% values for METRIC are
%
% METRIC D(i,j)
% --------------------------------------------------------
% LINF max |X - Y|
% L2 sum (X - Y).^2
% L1 sum |X - Y|
% L0 sum (X ~= Y)
% CHI2 sum (X - Y).^2 ./ (X + Y)
% HELL sum (X^.5 - Y^.5) .^ 2
%
% (Notice that the standard definition of chi2 is half of what is
% computed here).
%
% VL_ALLDIST2(...,'KERNEL') computes the following 'kernels' K:
%
% KERNEL K(i,j)
% ---------------------------------------------------------
% KL2 sum X .* Y
% KL1 sum min (X, Y)
% KCHI2 2 * sum (X .* Y) ./ (X + Y)
% KHELL (X .* Y) .^ 0.5
%
% The constant are chosen so that D(i,j) = K(i,i) + K(j,j) - 2 K(i,j)
% where D is the metric corresponding to the kenrel (if the arguments
% are non-negative vectors). Each kernel can be interpreted as the
% inner product inducing the corresponding metric in an embedding of
% the real space into an approrpiate reproducing Kenrel Hilbert
% space.
%
% VL_ALLDIST2() supports several storage classes. X and Y must have the
% same storage class. The sotrage class of D is promoted to reduce
% the chance of overvlow, but this is not checked.
%
% X & Y class D class
% ---------------------------
% UINT8 UINT32
% INT8 INT32
% UINT16 UINT32
% INT16 INT32
% UINT32 UINT32
% INT32 INT32
% SINGLE SINGLE
% DOUBLE DOUBLE
%
% Warning: Both chi2 and kchi2 use integer math when presented with
% integer data types. This can easily result in zeros where you did
% not expect them.
%
% See also: VL_HELP().
% Copyright (C) 2007-12 Andrea Vedaldi and Brian Fulkerson.
% All rights reserved.
%
% This file is part of the VLFeat library and is made available under
% the terms of the BSD license (see the COPYING file).
|