SHOGUN
3.2.1
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
src
shogun
kernel
SphericalKernel.h
Go to the documentation of this file.
1
/*
2
* This program is free software; you can redistribute it and/or modify
3
* it under the terms of the GNU General Public License as published by
4
* the Free Software Foundation; either version 3 of the License, or
5
* (at your option) any later version.
6
*
7
* Based on GaussianKernel, Written (W) 1999-2010 Soeren Sonnenburg
8
* Written (W) 2011 Shashwat Lal Das
9
* Copyright (C) 2011 Berlin Institute of Technology and Max-Planck-Society
10
*/
11
12
#include <
shogun/lib/config.h
>
13
14
#ifndef _SPHERICALKERNEL_H__
15
#define _SPHERICALKERNEL_H__
16
17
#include <
shogun/lib/common.h
>
18
#include <
shogun/kernel/Kernel.h
>
19
#include <
shogun/distance/Distance.h
>
20
21
namespace
shogun
22
{
23
24
class
CDistance;
25
38
class
CSphericalKernel
:
public
CKernel
39
{
40
public
:
42
CSphericalKernel
();
43
50
CSphericalKernel
(int32_t size,
float64_t
sigma
,
CDistance
* dist);
51
59
CSphericalKernel
(
CFeatures
*l,
CFeatures
*r,
float64_t
sigma,
CDistance
* dist);
60
67
virtual
bool
init
(
CFeatures
* l,
CFeatures
* r);
68
72
virtual
EKernelType
get_kernel_type
() {
return
K_SPHERICAL
; }
73
77
virtual
EFeatureType
get_feature_type
() {
return
distance
->
get_feature_type
(); }
78
82
virtual
EFeatureClass
get_feature_class
() {
return
distance
->
get_feature_class
(); }
83
87
virtual
const
char
*
get_name
()
const
{
return
"SphericalKernel"
; }
88
93
virtual
void
set_sigma
(
float64_t
s)
94
{
95
sigma=s;
96
}
97
102
virtual
float64_t
get_sigma
()
const
103
{
104
return
sigma
;
105
}
106
107
virtual
~CSphericalKernel
();
108
109
private
:
111
void
register_params();
112
113
protected
:
114
116
CDistance
*
distance
;
117
119
float64_t
sigma
;
120
130
virtual
float64_t
compute
(int32_t idx_a, int32_t idx_b);
131
};
132
}
133
134
#endif
/* _SPHERICALKERNEL_H__ */
SHOGUN
Machine Learning Toolbox - Documentation