LSST Applications g0265f82a02+c6dfa2ddaf,g1162b98a3f+b2075782a9,g2079a07aa2+1b2e822518,g2bbee38e9b+c6dfa2ddaf,g337abbeb29+c6dfa2ddaf,g3ddfee87b4+a60788ef87,g50ff169b8f+2eb0e556e8,g52b1c1532d+90ebb246c7,g555ede804d+a60788ef87,g591dd9f2cf+ba8caea58f,g5ec818987f+864ee9cddb,g858d7b2824+9ee1ab4172,g876c692160+a40945ebb7,g8a8a8dda67+90ebb246c7,g8cdfe0ae6a+4fd9e222a8,g99cad8db69+5e309b7bc6,g9ddcbc5298+a1346535a5,ga1e77700b3+df8f93165b,ga8c6da7877+aa12a14d27,gae46bcf261+c6dfa2ddaf,gb0e22166c9+8634eb87fb,gb3f2274832+d0da15e3be,gba4ed39666+1ac82b564f,gbb8dafda3b+5dfd9c994b,gbeb006f7da+97157f9740,gc28159a63d+c6dfa2ddaf,gc86a011abf+9ee1ab4172,gcf0d15dbbd+a60788ef87,gdaeeff99f8+1cafcb7cd4,gdc0c513512+9ee1ab4172,ge79ae78c31+c6dfa2ddaf,geb67518f79+ba1859f325,geb961e4c1e+f9439d1e6f,gee10cc3b42+90ebb246c7,gf1cff7945b+9ee1ab4172,w.2024.12
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Member Functions | List of all members
lsst::afw::math::NeuralNetCovariogram< T > Class Template Reference

a Covariogram that recreates a neural network with one hidden layer and infinite units in that layer More...

#include <GaussianProcess.h>

Inheritance diagram for lsst::afw::math::NeuralNetCovariogram< T >:
lsst::afw::math::Covariogram< T >

Public Member Functions

 ~NeuralNetCovariogram () override
 
 NeuralNetCovariogram ()
 
void setSigma0 (double sigma0)
 set the _sigma0 hyper parameter
 
void setSigma1 (double sigma1)
 set the _sigma1 hyper parameter
 
operator() (ndarray::Array< const T, 1, 1 > const &, ndarray::Array< const T, 1, 1 > const &) const override
 Actually evaluate the covariogram function relating two points you want to interpolate from.
 

Detailed Description

template<typename T>
class lsst::afw::math::NeuralNetCovariogram< T >

a Covariogram that recreates a neural network with one hidden layer and infinite units in that layer

Contains two hyper parameters (_sigma0 and _sigma1) that characterize the expected variance of the function being interpolated

see Rasmussen and Williams (2006) http://www.gaussianprocess.org/gpml/ equation 4.29

Definition at line 193 of file GaussianProcess.h.

Constructor & Destructor Documentation

◆ ~NeuralNetCovariogram()

template<typename T >
lsst::afw::math::NeuralNetCovariogram< T >::~NeuralNetCovariogram ( )
overridedefault

◆ NeuralNetCovariogram()

template<typename T >
lsst::afw::math::NeuralNetCovariogram< T >::NeuralNetCovariogram ( )
explicit

Definition at line 2025 of file GaussianProcess.cc.

2025 {
2026 _sigma0 = 1.0;
2027 _sigma1 = 1.0;
2028}

Member Function Documentation

◆ operator()()

template<typename T >
T lsst::afw::math::NeuralNetCovariogram< T >::operator() ( ndarray::Array< const T, 1, 1 > const & p1,
ndarray::Array< const T, 1, 1 > const & p2 ) const
overridevirtual

Actually evaluate the covariogram function relating two points you want to interpolate from.

Parameters
[in]p1the first point
[in]p2the second point

Reimplemented from lsst::afw::math::Covariogram< T >.

Definition at line 2031 of file GaussianProcess.cc.

2032 {
2033 int i, dim;
2034 double num, denom1, denom2, arg;
2035
2036 dim = p1.template getSize<0>();
2037
2038 num = 2.0 * _sigma0;
2039 denom1 = 1.0 + 2.0 * _sigma0;
2040 denom2 = 1.0 + 2.0 * _sigma0;
2041
2042 for (i = 0; i < dim; i++) {
2043 num += 2.0 * p1[i] * p2[i] * _sigma1;
2044 denom1 += 2.0 * p1[i] * p1[i] * _sigma1;
2045 denom2 += 2.0 * p2[i] * p2[i] * _sigma1;
2046 }
2047
2048 arg = num / ::sqrt(denom1 * denom2);
2049 return T(2.0 * (::asin(arg)) / 3.141592654);
2050}
T asin(T... args)
T sqrt(T... args)

◆ setSigma0()

template<typename T >
void lsst::afw::math::NeuralNetCovariogram< T >::setSigma0 ( double sigma0)

set the _sigma0 hyper parameter

Definition at line 2053 of file GaussianProcess.cc.

2053 {
2054 _sigma0 = sigma0;
2055}

◆ setSigma1()

template<typename T >
void lsst::afw::math::NeuralNetCovariogram< T >::setSigma1 ( double sigma1)

set the _sigma1 hyper parameter

Definition at line 2058 of file GaussianProcess.cc.

2058 {
2059 _sigma1 = sigma1;
2060}
table::Key< double > sigma1

The documentation for this class was generated from the following files: