package JKernelMachines; import JKernelMachines.Kernel; /** * Kernel on double[] that performs the product of a specified component j:
* k(x,y) = x[j]*y[j] * @author dpicard * */ public class IndexDoubleLinear extends Kernel { /** * */ private static final long serialVersionUID = 457509780005148420L; private int ind = 0; public IndexDoubleLinear(int feature) { ind = feature; } @Override public double valueOf(double[] t1, double[] t2) { if(t1[ind] == 0. || t2[ind] == 0.) return 0.; return t2[ind]*t1[ind]; } @Override public double valueOf(double[] t1) { if(t1[ind] == 0.) return 0.; return t1[ind]*t1[ind]; } public void setIndex(int i) { this.ind = i; } }