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

Reply via email to