1717
1818function RationalQuadraticKernel (ρ:: T₁ = 1.0 ,α:: T₂ = 2.0 ) where {T₁<: Real ,T₂<: Real }
1919 @check_args (RationalQuadraticKernel, α, α > zero (T₂), " α > 1" )
20- RationalQuadraticKernel {T₁,ScaleTransform{Base.RefValue{T₁} },T₂} (ScaleTransform (ρ),α)
20+ RationalQuadraticKernel {T₁,ScaleTransform{T₁ },T₂} (ScaleTransform (ρ),α)
2121end
2222
23- function RationalQuadraticKernel (ρ:: A ,α:: T = 2.0 ) where {A <: AbstractVector{<: Real} ,T <: Real }
24- @check_args (RationalQuadraticKernel, α, α > zero (T), " α > 1" )
25- RationalQuadraticKernel {eltype(A),ScaleTransform{A },T} ( ScaleTransform (ρ),α)
23+ function RationalQuadraticKernel (ρ:: AbstractVector{T₁} ,α:: T₂ = 2.0 ) where {T₁ <: Real ,T₂ <: Real }
24+ @check_args (RationalQuadraticKernel, α, α > zero (T₂ ), " α > 1" )
25+ RationalQuadraticKernel {T₁,ARDTransform{T₁,length(ρ) },T₂} ( ARDTransform (ρ),α)
2626end
2727
2828function RationalQuadraticKernel (t:: Tr ,α:: T = 2.0 ) where {Tr<: Transform ,T<: Real }
@@ -31,6 +31,7 @@ function RationalQuadraticKernel(t::Tr,α::T=2.0) where {Tr<:Transform,T<:Real}
3131end
3232
3333params (k:: RationalQuadraticKernel ) = (params (transform (k)),k. α)
34+ opt_params (k:: RationalQuadraticKernel ) = (opt_params (transform (k)),k. α)
3435
3536@inline kappa (κ:: RationalQuadraticKernel , d²:: T ) where {T<: Real } = (one (T)+ d²/ κ. α)^ (- κ. α)
3637
5657function GammaRationalQuadraticKernel (ρ:: T₁ = 1.0 ,α:: T₂ = 2.0 ,γ:: T₃ = 2.0 ) where {T₁<: Real ,T₂<: Real ,T₃<: Real }
5758 @check_args (GammaRationalQuadraticKernel, α, α > one (T₂), " α > 1" )
5859 @check_args (GammaRationalQuadraticKernel, γ, γ >= one (T₂), " γ >= 1" )
59- GammaRationalQuadraticKernel {T₁,ScaleTransform{Base.RefValue{T₁} },T₂,T₃} (ScaleTransform (ρ),α,γ)
60+ GammaRationalQuadraticKernel {T₁,ScaleTransform{T₁ },T₂,T₃} (ScaleTransform (ρ),α,γ)
6061end
6162
62- function GammaRationalQuadraticKernel (ρ:: A ,α:: T₁ = 2.0 ,γ:: T₂ = 2.0 ) where {A <: AbstractVector{<: Real} ,T₁ <: Real ,T₂ <: Real }
63- @check_args (GammaRationalQuadraticKernel, α, α > one (T₁ ), " α > 1" )
64- @check_args (GammaRationalQuadraticKernel, γ, γ >= one (T₂ ), " γ >= 1" )
65- GammaRationalQuadraticKernel {eltype(A),ScaleTransform{A}, T₁,T₂} ( ScaleTransform (ρ),α,γ)
63+ function GammaRationalQuadraticKernel (ρ:: AbstractVector{T₁} ,α:: T₂ = 2.0 ,γ:: T₃ = 2.0 ) where {T₁ <: Real ,T₂ <: Real ,T₃ <: Real }
64+ @check_args (GammaRationalQuadraticKernel, α, α > one (T₂ ), " α > 1" )
65+ @check_args (GammaRationalQuadraticKernel, γ, γ >= one (T₃ ), " γ >= 1" )
66+ GammaRationalQuadraticKernel {T₁,ARDTransform{ T₁,length(ρ)},T₂,T₃} ( ARDTransform (ρ),α,γ)
6667end
6768
6869function GammaRationalQuadraticKernel (t:: Tr ,α:: T₁ = 2.0 ,γ:: T₂ = 2.0 ) where {Tr<: Transform ,T₁<: Real ,T₂<: Real }
@@ -72,5 +73,6 @@ function GammaRationalQuadraticKernel(t::Tr,α::T₁=2.0,γ::T₂=2.0) where {Tr
7273end
7374
7475params (k:: GammaRationalQuadraticKernel ) = (params (k. transform),k. α,k. γ)
76+ opt_params (k:: GammaRationalQuadraticKernel ) = (opt_params (k. transform),k. α,k. γ)
7577
7678@inline kappa (κ:: GammaRationalQuadraticKernel , d²:: T ) where {T<: Real } = (one (T)+ d²^ κ. γ/ κ. α)^ (- κ. α)
0 commit comments