From fab07581980793f936280a7f04f9804f72a64ab4 Mon Sep 17 00:00:00 2001 From: Richard Townsend Date: Wed, 28 Sep 2016 15:12:32 +0100 Subject: [PATCH] metrics: Fix TestPolyKernel --- metrics/pairwise/poly_kernel.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/metrics/pairwise/poly_kernel.go b/metrics/pairwise/poly_kernel.go index db9c6e6..709742f 100644 --- a/metrics/pairwise/poly_kernel.go +++ b/metrics/pairwise/poly_kernel.go @@ -18,9 +18,10 @@ func NewPolyKernel(degree int) *PolyKernel { // InnerProduct computes the inner product through a kernel trick // K(x, y) = (x^T y + 1)^d func (p *PolyKernel) InnerProduct(vectorX *mat64.Dense, vectorY *mat64.Dense) float64 { - subVector := mat64.NewDense(0, 0, nil) - subVector.MulElem(vectorX, vectorY) - result := mat64.Sum(subVector) + subVectorX := vectorX.ColView(0) + subVectorY := vectorY.ColView(0) + result := mat64.Dot(subVectorX, subVectorY) + result = math.Pow(result+1, float64(p.degree)) return result }