[Numpy-discussion] another seemingly unNumpyizeable routine
Rob
europax at home.com
Sat Sep 1 19:54:02 CDT 2001
I figured this out. I step JEdge instead of IEdge. Another big speed
boost. Rob.
Rob wrote:
>
> I hate to bother you guys, but this is how I learn. I have had some
> success using the take() and add.reduce() routines all by myself.
> However this one seems intractable:
>
> for IEdge in range(0,a.HybrdBoundEdgeNum):
> for JEdge in range(0,a.HybrdBoundEdgeNum):
> AVec[IEdge+a.TotInnerEdgeNum] +=
> a.Cdd[IEdge,JEdge]*XVec[JEdge+a.TotInnerEdgeNum]
>
> ## below is my attempt at this, but it doesn't
> work
> ## h=a.TotInnerEdgeNum
> ## for IEdge in range(0,a.HybrdBoundEdgeNum):
> ## AVec[IEdge+h] = add.reduce(a.Cdd[IEdge,0:a.HybrdBoundEdgeNum] *
> XVec[h:(h+a.HybrdBoundEdgeNum)])
>
> I think the problem lies in that add.reduce is using the slice
> 0:a.HybridBoundEdgeNum for Cdd, but then has to contend with XVec slice
> which is offset by h. Is there any elegant way to deal with this. This
> routine is part of a sparse matrix multiply routine. If I could find
> SparsePy, maybe I could eliminate it altogether.
>
> Thanks, Rob.
>
> --
> The Numeric Python EM Project
>
> www.members.home.net/europax
>
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/numpy-discussion
--
The Numeric Python EM Project
www.members.home.net/europax
More information about the Numpy-discussion
mailing list