def approximateSurfaceCurrent(c, S, fv, sig): cc = fv.centers nu = fv.surfel g1 = computeProductsCurrents(c,S,sig) g2 = computeProductsAsymCurrents(c, S, cc, sig) b = LA.solve(g1, np.dot(g2, nu)) n0 = surfaces.currentNorm0(fv, kfun.Kernel(name='gauss', sigma=sig)) n1 = diffeonCurrentNormDef(c,S,b,fv,sig) print 'Norm before approx:', n0 print 'Diff after approx:', n0 + n1 print 'Norm of Projection:', (b*np.dot(g1, b)).sum(), -n1 return b
def diffeonCurrentNorm0(fv, K): #print 'sigma=', sig #K = kfun.Kernel(name='gauss', sigma=sig) obj = surfaces.currentNorm0(fv, K) return obj