Skip to content

Commit efb7d8c

Browse files
committed
First work on printing output
1 parent f6c3e7a commit efb7d8c

File tree

7 files changed

+19
-16
lines changed

7 files changed

+19
-16
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ StatsFuns = "4c63d2b9-4356-54db-8cca-17b64c39e42c"
1313
ZygoteRules = "700de1a5-db45-46bc-99cf-38207098b444"
1414

1515
[compat]
16-
Compat = "2.2, 3.2"
16+
Compat = "2.2, 3"
1717
Distances = "0.8"
1818
PDMats = "0.9"
1919
SpecialFunctions = "0.8, 0.9, 0.10"

src/KernelFunctions.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ export MaternKernel, Matern32Kernel, Matern52Kernel
1111
export LinearKernel, PolynomialKernel
1212
export RationalQuadraticKernel, GammaRationalQuadraticKernel
1313
export KernelSum, KernelProduct
14+
export TransformedKernel, ScaledKernel
1415

1516
export Transform, SelectTransform, ChainTransform, ScaleTransform, LowRankTransform, IdentityTransform, FunctionTransform
1617

src/generic.jl

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,9 @@ for k in subtypes(BaseKernel)
2121
end
2222
end
2323

24-
for k in Symbol.(subtypes(BaseKernel))
25-
k = Symbol(string(k)[17:end])
26-
new_k = Symbol(lowercase(string(k)))
24+
for k in nameof.(subtypes(BaseKernel))
2725
@eval begin
28-
$new_k(;args...) = $k(;args...)
29-
$new_k::Real;args...) = TransformedKernel($k(;args...),ScaleTransform(ρ))
30-
$new_k::AbstractVector{<:Real};args...) = TransformedKernel($k(;args...),ARDTransform(ρ))
31-
$new_k(t::Transform;args...) = TransformedKernel($k(;args...),t)
32-
@deprecate($k::Real;args...),$new_k(ρ;args...))
33-
@deprecate($k::AbstractVector{<:Real};args...),$new_k(ρ;args...))
34-
export $new_k
26+
@deprecate($k::Real;args...),TransformedKernel($k(args...),ScaleTransform(ρ)))
27+
@deprecate($k::AbstractVector{<:Real};args...),TransformedKernel($k(args...),ARDTransform(ρ)))
3528
end
3629
end

src/kernels/kernelsum.jl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,14 @@ Base.:+(k::Kernel, ks::KernelSum) =
3636
KernelSum(vcat(k, ks.kernels), weights = vcat(1.0, ks.weights))
3737
Base.:+(k::ScaledKernel, ks::KernelSum) =
3838
KernelSum(vcat(kernel(k), ks.kernels), weights = vcat(first(k.σ), ks.weights))
39+
Base.:+(k::ScaledKernel, ks::Kernel) =
40+
KernelSum(vcat(kernel(k), ks), weights = vcat(first(k.σ), 1.0))
3941
Base.:+(ks::KernelSum, k::Kernel) =
4042
KernelSum(vcat(ks.kernels, k), weights = vcat(ks.weights, 1.0))
4143
Base.:+(ks::KernelSum, k::ScaledKernel) =
4244
KernelSum(vcat(ks.kernels, kernel(k)), weights = vcat(ks.weights, first(k.σ)))
45+
Base.:+(ks::Kernel, k::ScaledKernel) =
46+
KernelSum(vcat(ks, kernel(k)), weights = vcat(1.0, first(k.σ)))
4347
Base.:*(w::Real, k::KernelSum) = KernelSum(k.kernels, weights = w * k.weights) #TODO add tests
4448

4549
Base.length(k::KernelSum) = length(k.kernels)
@@ -66,3 +70,10 @@ function kerneldiagmatrix(
6670
)
6771
sum.weights[i] * kerneldiagmatrix.kernels[i], X, obsdim = obsdim) for i in 1:length(κ))
6872
end
73+
74+
function Base.show(io::IO::KernelSum)
75+
print(io,"Sum of $(length(κ)) kernels:")
76+
for i in 1:length(κ)
77+
print(io,"\n\t- (w=$(κ.weights[i])) $(κ.kernels[i])")
78+
end
79+
end

src/kernels/scaledkernel.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,5 @@ params(k::ScaledKernel) = (k.σ,params(k.kernel))
1616
opt_params(k::ScaledKernel) = (k.σ,opt_params(k.kernel))
1717

1818
Base.:*(w::Real,k::Kernel) = ScaledKernel(k,w)
19+
20+
Base.show(io::IO::ScaledKernel) = print(io,"$(κ.kernel)\n\t- σ = $(first.σ))")

src/kernels/transformedkernel.jl

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,10 @@ end
55

66
kernel(κ) = κ.kernel
77

8-
transform::Kernel,t::Transform) = TransformedKernel(κ,t)
9-
108
kappa::TransformedKernel, x) = kappa.kernel, x)
119

1210
metric::TransformedKernel) = metric.kernel)
1311

1412
params::TransformedKernel) = (params.transform),params.kernel))
15-
opt_params::TransformedKernel) = (opt_params.transform),opt_params.kernel))
1613

17-
Base.show(io::IO::TransformedKernel) = print(io,"$(κ.kernel) with $(κ.transform)")
14+
Base.show(io::IO::TransformedKernel) = print(io,"$(κ.kernel)\n\t- $(κ.transform)")

src/transform/transform.jl

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ export Transform, IdentityTransform, ScaleTransform, ARDTransform, LowRankTransf
33
"""
44
```julia
55
transform(t::Transform, X::AbstractMatrix)
6-
transform(k::Kernel, X::AbstractMatrix)
76
```
87
Apply the transfomration `t` or `k.transform` on the input `X`
98
"""

0 commit comments

Comments
 (0)