|
CMP++: Uncertainty Quantification & Bayesian Calibration
|
Isotropic bandwidth matrix (single scalar parameter h). More...
#include <kernel++.h>


Public Member Functions | |
| IsotropicBandwidth ()=delete | |
| IsotropicBandwidth (const double &h, const size_t &dim) | |
| Constructs an IsotropicBandwidth object. | |
| Eigen::VectorXd | apply (const Eigen::VectorXd &x1, const Eigen::VectorXd &x2) const override |
| Scales the distance between two vectors by 1/h. | |
| double | determinant () const override |
| Computes the determinant of the bandwidth matrix (h^D). | |
| size_t | size () const override |
| Returns the dimension of the space. | |
| Eigen::VectorXd | gradientOfApply (const Eigen::VectorXd &x1, const Eigen::VectorXd &x2, const size_t &i) const override |
| Computes the gradient of the scaling transformation with respect to h. | |
| double | gradientOfLogDeterminant (const size_t &i) const override |
| Computes the gradient of the log-determinant (D / h). | |
| void | setFromVector (const Eigen::VectorXd ¶ms) |
| Sets the bandwidth parameter from a parameter vector. | |
| Eigen::VectorXd | getParams () const |
| Returns the bandwidth parameter vector. | |
Public Member Functions inherited from cmp::kernel::Bandwidth | |
| virtual | ~Bandwidth ()=default |
Static Public Member Functions | |
| static std::shared_ptr< Bandwidth > | make (const double &h, const size_t &dim) |
| Factory method for creating an IsotropicBandwidth. | |
Private Attributes | |
| double | h_ {1.0} |
| Bandwidth scalar parameter. | |
| size_t | dim_ {1} |
| Dimension of the input data. | |
Isotropic bandwidth matrix (single scalar parameter h).
Mathematical Formulation Defines a spherical scaling matrix \(\mathbf{H} = h \mathbf{I}_D\). The transformation scales inputs uniformly:
\[ \mathbf{z} = \frac{1}{h} (\mathbf{x}_1 - \mathbf{x}_2) \]
The determinant is \(\det(\mathbf{H}) = h^D\).
|
delete |
|
inline |
Constructs an IsotropicBandwidth object.
| h | Smoothing bandwidth scalar. |
| dim | Dimension of the data. |
|
overridevirtual |
Scales the distance between two vectors by 1/h.
Implements cmp::kernel::Bandwidth.
|
overridevirtual |
Computes the determinant of the bandwidth matrix (h^D).
Implements cmp::kernel::Bandwidth.
|
inlinevirtual |
Returns the bandwidth parameter vector.
Implements cmp::kernel::Bandwidth.
|
overridevirtual |
Computes the gradient of the scaling transformation with respect to h.
Implements cmp::kernel::Bandwidth.
|
overridevirtual |
Computes the gradient of the log-determinant (D / h).
Implements cmp::kernel::Bandwidth.
|
inlinestatic |
Factory method for creating an IsotropicBandwidth.
|
inlinevirtual |
Sets the bandwidth parameter from a parameter vector.
Implements cmp::kernel::Bandwidth.
|
inlineoverridevirtual |
Returns the dimension of the space.
Implements cmp::kernel::Bandwidth.
|
private |
Dimension of the input data.
|
private |
Bandwidth scalar parameter.