/*
 * PolynomialKernel.java
 * Created on Apr 11, 2005
 */
package kernel;

import javax.vecmath.GVector;

/**
 * A polymonial kernel.
 */
public final class PolynomialKernel implements Kernel {
    
    private final int degree;

    /**
     * Construct a polynomial kernel with the given degree.
     */
    public PolynomialKernel(int degree) {
        this.degree = degree;
    }

    public double eval(GVector v1, GVector v2) {
        return Math.pow(1 + v1.dot(v2), degree);
    }

}
