Need help vectorizing code

Kevin K richyokevin at gmail.com
Sat Jan 18 15:51:25 EST 2014


I have some code that I need help vectorizing.
I want to convert the following to vector form, how can I? I want to get rid of the inner loop - apparently, it's possible to do so.
X is an NxD matrix. y is a 1xD vector.

def foo(X, y, mylambda, N, D, epsilon):
...
        for j in xrange(D):
            aj = 0
            cj = 0
            for i in xrange(N):
                aj += 2 * (X[i,j] ** 2)
                cj += 2 * (X[i,j] * (y[i] - w.transpose()*X[i].transpose() + w[j]*X[i,j]))

...

If I call numpy.vectorize() on the function, it throws an error at runtime.

Thanks



More information about the Python-list mailing list