@CodeReview(reviewer="Kevin R. Dixon", date="2009-07-08", changesNeeded=false, comments="Looks fine.") public class RadialBasisKernel extends AbstractCloneableSerializable implements Kernel<Vectorizable>
RadialBasisKernel implements the standard radial basis 
 kernel, which is:
 | Modifier and Type | Field and Description | 
|---|---|
| static double | DEFAULT_SIGMAThe default value for sigma is 1.0. | 
| Constructor and Description | 
|---|
| RadialBasisKernel()Creates a new instance of RadialBasisKernel with a default value for
 sigma of 1.0. | 
| RadialBasisKernel(double sigma)Creates a new instance of RadialBasisKernel with the given value for
 sigma. | 
| RadialBasisKernel(RadialBasisKernel other)Creates a new copy of a RadialBasisKernel. | 
| Modifier and Type | Method and Description | 
|---|---|
| RadialBasisKernel | clone()This makes public the clone method on the  Objectclass and 
 removes the exception that it throws. | 
| double | evaluate(Vectorizable x,
        Vectorizable y)Evaluates the following kernel between the two given vectors: 
 
    exp( -||x - y||^2 / (2 * sigma^2)) | 
| double | getSigma()Gets the sigma value that controls the bandwidth of the kernel. | 
| void | setSigma(double sigma)Sets the sigma value that controls the bandwidth of the kernel. | 
public static final double DEFAULT_SIGMA
public RadialBasisKernel()
public RadialBasisKernel(double sigma)
sigma - The sigma parameter that controls the bandwidth of the 
         kernel.public RadialBasisKernel(RadialBasisKernel other)
other - The RadialBasisKernel to copy.public RadialBasisKernel clone()
AbstractCloneableSerializableObject class and 
 removes the exception that it throws. Its default behavior is to 
 automatically create a clone of the exact type of object that the
 clone is called on and to copy all primitives but to keep all references, 
 which means it is a shallow copy.
 
 Extensions of this class may want to override this method (but call
 super.clone() to implement a "smart copy". That is, to target
 the most common use case for creating a copy of the object. Because of
 the default behavior being a shallow copy, extending classes only need 
 to handle fields that need to have a deeper copy (or those that need to
 be reset). Some of the methods in ObjectUtil may be helpful in
 implementing a custom clone method.
 
 Note: The contract of this method is that you must use
 super.clone() as the basis for your implementation.clone in interface CloneableSerializableclone in class AbstractCloneableSerializablepublic double evaluate(Vectorizable x, Vectorizable y)
evaluate in interface Kernel<Vectorizable>x - The first vector.y - The second vector.public double getSigma()
public void setSigma(double sigma)
sigma - The sigma value for the kernel. Must be positive.