Matern2

Matern2

Matèrn2 kernel (ν = 5/2, 2-differentiable): k(x,y) = A·(1 + x + 5d²/(3l²))·exp(−x), A = |ampl|, l = |ls|, x = √5·d/l, d = ‖x−y‖. Parameters: [ls, ampl] (defaults ls = 1, ampl = 1). nbParameters = 2. Scalable.

Constructor

new Matern2(lsopt, amplopt)

Source:
Parameters:
Name Type Attributes Default Description
ls number <optional>
1
ampl number <optional>
1

Classes

Matern2

Members

ampl :number

Description:
  • amplitude

Source:

amplitude

Type:
  • number

ls :number

Description:
  • length scale

Source:

length scale

Type:
  • number

Methods

gradient(x1, x2) → {Array.<number>}

Description:
  • gradient = [grad_ls, grad_ampl] with d = ‖x−y‖, A = |ampl|, l = |ls|.

    NOTE (faithful to Rust source): the exponent x here uses the RAW this.ls (not the sanitized l = |ls|) — i.e. x = √5·d/this.ls — which differs from kernel()'s x = √5·d/l. Both are reproduced exactly as in Rust. grad_ls = sign(ls) · A · ((2l/3 + 1) + d·√5·((l²/3 + l + 1)/l²)) · exp(−x) grad_ampl = sign(ampl) · (1 + x + 5d²/(3l²)) · exp(−x)

Source:
Parameters:
Name Type Description
x1 Array.<number>
x2 Array.<number>
Returns:
Type
Array.<number>

heuristicFit(inputs, outputs)

Source:
Parameters:
Name Type Description
inputs Array.<Array.<number>>
outputs Array.<number>

kernel(x1, x2) → {number}

Source:
Parameters:
Name Type Description
x1 Array.<number>
x2 Array.<number>
Returns:
Type
number

rescale(scale)

Source:
Parameters:
Name Type Description
scale number

setParameters(parameters)

Source:
Parameters:
Name Type Description
parameters Array.<number>