Skip to content

Commit 1983d1d

Browse files
st--devmotion
andauthored
Rename kerneldiagmatrix[!] -> kernelmatrix_diag[!] (#235)
* Rename kerneldiagmatrix[!] -> kernelmatrix_diag[!] and add deprecations for kerneldiagmatrix[!] * add tests for in-place kernel matrix computation working correctly & fix uncovered bug * bump version Co-authored-by: David Widmann <[email protected]>
1 parent 9571eb0 commit 1983d1d

16 files changed

+131
-65
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "KernelFunctions"
22
uuid = "ec8451be-7e33-11e9-00cf-bbf324bd1392"
3-
version = "0.8.22"
3+
version = "0.8.23"
44

55
[deps]
66
Compat = "34da2185-b29b-5c13-b0c7-acf172513d20"

benchmark/MLKernels.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ for k in mlkernelnames
1616
# SUITE["MLKernels"][k][kt]["k!(X,Y)"] = @benchmarkable MLKernels.kernelmatrix!(KXY,$(kernels[k][kt]),$X,$Y) setup=(KXY=copy($KXY))
1717
SUITE["MLKernels"][k]["k(X)"] = @benchmarkable MLKernels.kernelmatrix($(kernels[k]), $X)
1818
# SUITE["MLKernels"][k][kt]["k!(X)"] = @benchmarkable MLKernels.kernelmatrix!(KX,$(kernels[k][kt]),$X) setup=(KX=copy($KX))
19-
# SUITE["MLKernels"][k][kt]["kdiag(X)"] = @benchmarkable MLKernels.kerneldiagmatrix($(kernels[k][kt]),$X)
20-
# SUITE["MLKernels"][k][kt]["kdiag!(X)"] = @benchmarkable MLKernels.kerneldiagmatrix!(kX,$(kernels[k][kt]),$X) setup=(kX=copy($kX))
19+
# SUITE["MLKernels"][k][kt]["kdiag(X)"] = @benchmarkable MLKernels.kernelmatrix_diag($(kernels[k][kt]),$X)
20+
# SUITE["MLKernels"][k][kt]["kdiag!(X)"] = @benchmarkable MLKernels.kernelmatrix_diag!(kX,$(kernels[k][kt]),$X) setup=(kX=copy($kX))
2121
end
2222
# results = run(SUITE)

benchmark/kernelmatrix.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ for k in kernelnames
3232
$(kernels[k][kt]), $X; obsdim=1
3333
)
3434
# SUITE["KernelFunctions"][k][kt]["k!(X)"] = @benchmarkable KernelFunctions.kernelmatrix!(KX,$(kernels[k][kt]),$X) setup=(KX=copy($KX))
35-
# SUITE["KernelFunctions"][k][kt]["kdiag(X)"] = @benchmarkable KernelFunctions.kerneldiagmatrix($(kernels[k][kt]),$X)
36-
# SUITE["KernelFunctions"][k][kt]["kdiag!(X)"] = @benchmarkable KernelFunctions.kerneldiagmatrix!(kX,$(kernels[k][kt]),$X) setup=(kX=copy($kX))
35+
# SUITE["KernelFunctions"][k][kt]["kdiag(X)"] = @benchmarkable KernelFunctions.kernelmatrix_diag($(kernels[k][kt]),$X)
36+
# SUITE["KernelFunctions"][k][kt]["kdiag!(X)"] = @benchmarkable KernelFunctions.kernelmatrix_diag!(kX,$(kernels[k][kt]),$X) setup=(kX=copy($kX))
3737
end
3838
end
3939
# results = run(SUITE)

docs/src/api.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ CurrentModule = KernelFunctions
1414
```@docs
1515
kernelmatrix
1616
kernelmatrix!
17-
kerneldiagmatrix
18-
kerneldiagmatrix!
17+
kernelmatrix_diag
18+
kernelmatrix_diag!
1919
kernelpdmat
2020
nystrom
2121
```

docs/src/userguide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ To evaluate the kernel function on two vectors you simply call the kernel object
5151

5252
## Creating a kernel matrix
5353

54-
Kernel matrices can be created via the `kernelmatrix` function or `kerneldiagmatrix` for only the diagonal.
54+
Kernel matrices can be created via the `kernelmatrix` function or `kernelmatrix_diag` for only the diagonal.
5555
An important argument to give is the data layout of the input `obsdim`. It specifies whether the number of observed data points is along the first dimension (`obsdim=1`, i.e. the matrix shape is number of samples times number of features) or along the second dimension (`obsdim=2`, i.e. the matrix shape is number of features times number of samples), similarly to [Distances.jl](https://github.com/JuliaStats/Distances.jl). If not given explicitly, `obsdim` defaults to `2`.
5656
For example:
5757
```julia

src/KernelFunctions.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ if !isfile(joinpath(@__DIR__, "update_v0.8.0"))
1313
touch(joinpath(@__DIR__, "update_v0.8.0"))
1414
end
1515

16-
export kernelmatrix, kernelmatrix!, kerneldiagmatrix, kerneldiagmatrix!
16+
export kernelmatrix, kernelmatrix!, kernelmatrix_diag, kernelmatrix_diag!
1717
export transform
1818
export duplicate, set! # Helpers
1919

src/basekernels/gabor.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,4 +71,4 @@ function kernelmatrix(κ::GaborKernel, x::AbstractVector, y::AbstractVector)
7171
return kernelmatrix.kernel, x, y)
7272
end
7373

74-
kerneldiagmatrix::GaborKernel, x::AbstractVector) = kerneldiagmatrix.kernel, x)
74+
kernelmatrix_diag::GaborKernel, x::AbstractVector) = kernelmatrix_diag.kernel, x)

src/deprecated.jl

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,25 @@
99
)
1010

1111
Base.@deprecate_binding TensorProduct KernelTensorProduct
12+
13+
# TODO: remove tests when removed
14+
@deprecate kerneldiagmatrix(k::Kernel, x::AbstractVector) kernelmatrix_diag(k, x)
15+
@deprecate kerneldiagmatrix(k::Kernel, x::AbstractVector, y::AbstractVector) kernelmatrix_diag(
16+
k, x, y
17+
)
18+
@deprecate kerneldiagmatrix!(K, k::Kernel, x::AbstractVector) kernelmatrix_diag!(K, k, x)
19+
@deprecate kerneldiagmatrix!(K, k::Kernel, x::AbstractVector, y::AbstractVector) kernelmatrix_diag!(
20+
K, k, x, y
21+
)
22+
@deprecate kerneldiagmatrix(k::Kernel, X::AbstractMatrix; obsdim::Int=defaultobs) kernelmatrix_diag(
23+
k, X; obsdim=obsdim
24+
)
25+
@deprecate kerneldiagmatrix(
26+
k::Kernel, X::AbstractMatrix, Y::AbstractMatrix; obsdim::Int=defaultobs
27+
) kernelmatrix_diag(k, X, Y; obsdim=obsdim)
28+
@deprecate kerneldiagmatrix!(K, k::Kernel, X::AbstractMatrix; obsdim::Int=defaultobs) kernelmatrix_diag!(
29+
K, k, X; obsdim=obsdim
30+
)
31+
@deprecate kerneldiagmatrix!(
32+
K, k::Kernel, X::AbstractMatrix, Y::AbstractMatrix; obsdim::Int=defaultobs
33+
) kernelmatrix_diag!(K, k, X, Y; obsdim=obsdim)

src/kernels/kernelproduct.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ function kernelmatrix(κ::KernelProduct, x::AbstractVector, y::AbstractVector)
5353
return reduce(hadamard, kernelmatrix(k, x, y) for k in κ.kernels)
5454
end
5555

56-
function kerneldiagmatrix::KernelProduct, x::AbstractVector)
57-
return reduce(hadamard, kerneldiagmatrix(k, x) for k in κ.kernels)
56+
function kernelmatrix_diag::KernelProduct, x::AbstractVector)
57+
return reduce(hadamard, kernelmatrix_diag(k, x) for k in κ.kernels)
5858
end
5959

6060
function Base.show(io::IO, κ::KernelProduct)

src/kernels/kernelsum.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ function kernelmatrix(κ::KernelSum, x::AbstractVector, y::AbstractVector)
5353
return sum(kernelmatrix(k, x, y) for k in κ.kernels)
5454
end
5555

56-
function kerneldiagmatrix::KernelSum, x::AbstractVector)
57-
return sum(kerneldiagmatrix(k, x) for k in κ.kernels)
56+
function kernelmatrix_diag::KernelSum, x::AbstractVector)
57+
return sum(kernelmatrix_diag(k, x) for k in κ.kernels)
5858
end
5959

6060
function Base.show(io::IO, κ::KernelSum)

0 commit comments

Comments
 (0)