I didn't paste the whole function, note the ... before and after. I do use the values.
I want to get rid of one of the loops so that the computation becomes O(D). Assume vectors a and c should get populated during the compute, each being 1xD. Thanks On Saturday, January 18, 2014 12:51:25 PM UTC-8, Kevin K wrote: > 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 -- https://mail.python.org/mailman/listinfo/python-list