dot-product of selected columns or rows
Suppose I have some iterative algorithm that selects and deselects 'features' represented by a list of indices `active` that correspond to rows (or equivalently columns) in some matrices `M`, `N`, ... What would be the most efficient way to carry out the equivalent of: A = dot(take(M, active), take(C, active),axis=1) assuming that M and C remain constant throughtout the computation and that A could be modified in-place for the relevant indices in `active`. Also am I right to assume that generally the best approach to cheaply create a matrix with a different diagonal from a square and contiguous n*n matrix `S` (that is no longer needed) would be the following in-place operation? S.flat[::n+1] += vec In case it matters: I'm using Numeric and scipy, but not numarray. 'as
participants (1)
-
Alexander Schmolck