@@ -34,18 +34,29 @@ import Random
3434 end
3535
3636 # kernel calculations
37- K = MultivariateStats. pairwise ((x,y)-> norm (x- y), X, X[:,1 : 2 ])
37+ ker1 = (x,y)-> x' y
38+ ker2 = (x,y)-> norm (x- y)
39+
40+ K = MultivariateStats. pairwise (ker1, X)
41+ @test size (K) == (n,n)
42+ @test K[1 ,2 ] == K[2 ,1 ]
43+
44+ K = MultivariateStats. pairwise (ker1, X, X.+ 1 )
45+ @test size (K) == (n,n)
46+ @test K[1 ,2 ] != K[2 ,1 ]
47+
48+ K = MultivariateStats. pairwise (ker2, X, X[:,1 : 2 ])
3849 @test size (K) == (n, 2 )
3950 @test K[1 ,1 ] == 0
4051 @test K[3 ,2 ] == norm (X[:,3 ] - X[:,2 ])
4152
42- K = MultivariateStats. pairwise ((x,y) -> norm (x - y) , X[:,1 : 3 ], X)
53+ K = MultivariateStats. pairwise (ker2 , X[:,1 : 3 ], X)
4354 @test size (K) == (3 , n)
4455 @test K[1 ,1 ] == 0
4556 @test K[3 ,2 ] == norm (X[:,2 ] - X[:,3 ])
4657
4758 K = similar (X, n, n)
48- MultivariateStats. pairwise! (K, (x,y) -> norm (x - y) , X)
59+ MultivariateStats. pairwise! (K, ker2 , X)
4960 @test size (K) == (n, n)
5061 @test K[1 ,1 ] == 0
5162 @test K[2 ,1 ] == norm (X[:,2 ] - X[:,1 ])
@@ -54,7 +65,7 @@ import Random
5465 Iₙ = ones (n,n)/ n
5566 @test MultivariateStats. transform! (KC, copy (K)) ≈ K - Iₙ* K - K* Iₙ + Iₙ* K* Iₙ
5667
57- K = MultivariateStats. pairwise ((x,y) -> norm (x - y) , X, X[:,1 ])
68+ K = MultivariateStats. pairwise (ker2 , X, X[:,1 ])
5869 @test size (K) == (n, 1 )
5970 @test K[1 ,1 ] == 0
6071 @test K[2 ,1 ] == norm (X[:,2 ] - X[:,1 ])
0 commit comments