# [MATRIX-SIG] reverse of take?

**Johann Hibschman
**
Johann Hibschman <johann@physics.berkeley.edu>

*Thu, 26 Jun 1997 18:07:25 -0700 (PDT)*

On Thu, 26 Jun 1997, Andrew P. Mullhaupt wrote:
>* Just so. Here's how to do it in S, where z is the huge array,
*>* and the x values of the indices are in a vector x, similarly
*>* for y, and v is the vector of corresponding values to assign.
*>*
*>* z[cbind(x, y)] <- v
*
[...]
>*
*>* This could easily be added to NumPy (along with a couple of other really
*>* useful forms of indexing). The long history of successful use of the
*>* highly flexible indexing in S is a 'proof of concept'.
*
Hmm. Would it be acceptable to define (in a separate extension module)
a function to do this, or do you feel that the built-in syntax is
necessary?
I haven't done much with the NumPy internals, but I'd think that it would
be almost trivial to write a simple extension to do
multi_set(array, indices, values)
by implementing a C for-loop over the indices. Is there a hidden subtlety
that I'm missing?
- Johann
---
Johann A. Hibschman | Grad student in Physics, working in Astronomy.
johann@physics.berkeley.edu | Probing pulsar pair production processes.
_______________
MATRIX-SIG - SIG on Matrix Math for Python
send messages to: matrix-sig@python.org
administrivia to: matrix-sig-request@python.org
_______________