Skip to content

Commit e8ed332

Browse files
committed
More tests
1 parent ba4f5ca commit e8ed332

File tree

1 file changed

+65
-3
lines changed

1 file changed

+65
-3
lines changed

test/kernels/tensorproduct.jl

Lines changed: 65 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
kernel2 = TensorProduct([k1, k2])
1313

1414
@test kernel1.kernels === (k1, k2) === TensorProduct((k1, k2)).kernels
15+
@test length(kernel1) == length(kernel2) == 2
1516

1617
@testset "kappa" begin
1718
for (x, y) in (((v1, u1), (v2, u2)), ([v1, u1], [v2, u2]))
@@ -24,8 +25,8 @@
2425
end
2526

2627
@testset "kernelmatrix" begin
27-
X = rand(2, 10)
28-
Y = rand(2, 10)
28+
X = rand(rng, 2, 10)
29+
Y = rand(rng, 2, 10)
2930
trueX = kernelmatrix(k1, X[1, :]) .* kernelmatrix(k2, X[2, :])
3031
trueXY = kernelmatrix(k1, X[1, :], Y[1, :]) .* kernelmatrix(k2, X[2, :], Y[2, :])
3132
tmp = Matrix{Float64}(undef, 10, 10)
@@ -56,7 +57,7 @@
5657
end
5758

5859
@testset "kerneldiagmatrix" begin
59-
X = rand(2, 10)
60+
X = rand(rng, 2, 10)
6061
trueval = ones(10)
6162
tmp = Vector{Float64}(undef, 10)
6263

@@ -73,4 +74,65 @@
7374
@test tmp == trueval
7475
end
7576
end
77+
78+
@testset "single kernel" begin
79+
kernel = TensorProduct(k1)
80+
@test length(kernel) == 1
81+
82+
@testset "kappa" begin
83+
for (x, y) in (((v1,), (v2,)), ([v1], [v2]))
84+
val = k1(x[1], y[1])
85+
86+
@test kernel(x, y) == val
87+
@test KernelFunctions.kappa(kernel, x, y) == val
88+
end
89+
end
90+
91+
@testset "kernelmatrix" begin
92+
X = rand(rng, 1, 10)
93+
Y = rand(rng, 1, 10)
94+
trueX = kernelmatrix(k1, X)
95+
trueXY = kernelmatrix(k1, X, Y)
96+
tmp = Matrix{Float64}(undef, 10, 10)
97+
98+
@test kernelmatrix(kernel, X) == trueX
99+
@test kernelmatrix(kernel, X'; obsdim = 1) == trueX
100+
101+
@test kernelmatrix(kernel, X, Y) == trueXY
102+
@test kernelmatrix(kernel, X', Y'; obsdim = 1) == trueXY
103+
104+
fill!(tmp, 0)
105+
kernelmatrix!(tmp, kernel, X)
106+
@test tmp == trueX
107+
108+
fill!(tmp, 0)
109+
kernelmatrix!(tmp, kernel, X'; obsdim = 1)
110+
@test tmp == trueX
111+
112+
fill!(tmp, 0)
113+
kernelmatrix!(tmp, kernel, X, Y)
114+
@test tmp == trueXY
115+
116+
fill!(tmp, 0)
117+
kernelmatrix!(tmp, kernel, X', Y'; obsdim = 1)
118+
@test tmp == trueXY
119+
end
120+
121+
@testset "kerneldiagmatrix" begin
122+
X = rand(rng, 1, 10)
123+
trueval = ones(10)
124+
tmp = Vector{Float64}(undef, 10)
125+
126+
@test kerneldiagmatrix(kernel, X) == trueval
127+
@test kerneldiagmatrix(kernel, X'; obsdim = 1) == trueval
128+
129+
fill!(tmp, 0)
130+
kerneldiagmatrix!(tmp, kernel, X)
131+
@test tmp == trueval
132+
133+
fill!(tmp, 0)
134+
kerneldiagmatrix!(tmp, kernel, X'; obsdim = 1)
135+
@test tmp == trueval
136+
end
137+
end
76138
end

0 commit comments

Comments
 (0)