let make_matrix ?(commutative=true) f_dist init_value elements =
let len = Array.length elements in
let mat = Array.make_matrix len len init_value in
for i = 0 to len - 1 do
for j = i + 1 to len - 1 do
let d = f_dist elements.(i) elements.(j) in
mat.(i).(j) <- d;
if commutative then
mat.(j).(i) <- d
else
mat.(j).(i) <- f_dist elements.(j) elements.(i)
done
done;
{
dist_elements = elements ;
dist_matrix = mat ;
dist_samples = Array.make len 1 ;
}