@@ -21,7 +21,7 @@ differentiable in the mean-square sense.
2121
2222 Differentiation with respect to the order ν is not currently supported.
2323
24- See also: [`Matern12Kernel`](@ref), [`Matern32Kernel`](@ref), [`Matern52Kernel`](@ref)
24+ See also: [`Matern12Kernel`](@ref), [`Matern32Kernel`](@ref), [`Matern52Kernel`](@ref), [`Matern72Kernel`](@ref)
2525"""
2626struct MaternKernel{Tν<: Real ,M} <: SimpleKernel
2727 ν:: Vector{Tν}
@@ -118,3 +118,36 @@ metric(k::Matern52Kernel) = k.metric
118118function Base. show (io:: IO , k:: Matern52Kernel )
119119 return print (io, " Matern 5/2 Kernel (metric = " , k. metric, " )" )
120120end
121+
122+ """
123+ Matern72Kernel(; metric=Euclidean())
124+
125+ Matérn kernel of order ``7/2`` with respect to the `metric`.
126+
127+ # Definition
128+
129+ For inputs ``x, x'`` and metric ``d(\\ cdot, \\ cdot)``, the Matérn kernel of order ``7/2`` is
130+ given by
131+ ```math
132+ k(x, x') = \\ bigg(1 + \\ sqrt{7} d(x, x') + \\ frac{14}{5} d(x, x')^2 +
133+ \\ frac{7\\ sqrt{7}}{15} d(x, x')^3\\ bigg)\\ exp\\ big(- \\ sqrt{7} d(x, x') \\ big).
134+ ```
135+ By default, ``d`` is the Euclidean metric ``d(x, x') = \\ |x - x'\\ |_2``.
136+
137+ See also: [`MaternKernel`](@ref)
138+ """
139+ struct Matern72Kernel{M} <: SimpleKernel
140+ metric:: M
141+ end
142+
143+ Matern72Kernel (; metric= Euclidean ()) = Matern72Kernel (metric)
144+
145+ function kappa (:: Matern72Kernel , d:: Real )
146+ return (1 + sqrt (7 ) * d + 14 / 5 * d^ 2 + 7 * sqrt (7 ) / 15 * d^ 3 ) * exp (- sqrt (7 ) * d)
147+ end
148+
149+ metric (k:: Matern72Kernel ) = k. metric
150+
151+ function Base. show (io:: IO , k:: Matern72Kernel )
152+ return print (io, " Matern 7/2 Kernel (metric = " , k. metric, " )" )
153+ end
0 commit comments