[Numpy-discussion] Would a patch with a function for incrementing an array with advanced indexing be accepted?

Frédéric Bastien nouiz@nouiz....
Tue Jul 3 13:41:59 CDT 2012


Hi,

Here is code example that work only with different index:

import numpy
x=numpy.zeros((5,5))
x[[0,2,4]]+=numpy.random.rand(3,5)
print x

This won't work if in the list [0,2,4], there is index duplication,
but with your new code, it will. I think it is the most used case of
advanced indexing. At least, for our lab:)

Fred

On Mon, Jul 2, 2012 at 7:48 PM, John Salvatier
<jsalvati@u.washington.edu> wrote:
> Hi Fred,
>
> That's an excellent idea, but I am not too familiar with this use case. What
> do you mean by  list in 'matrix[list]'? Is the use case, just incrementing
> in place a sub matrix of a numpy matrix?
>
> John
>
>
> On Fri, Jun 29, 2012 at 11:43 AM, Frédéric Bastien <nouiz@nouiz.org> wrote:
>>
>> Hi,
>>
>> I personnaly can't review this as this is too much in NumPy internal.
>>
>> My only comments is that you could add a test and an example in the
>> doc for matrix[list]. I think it will be the most used case.
>>
>> Fred
>>
>> On Wed, Jun 27, 2012 at 7:47 PM, John Salvatier
>> <jsalvati@u.washington.edu> wrote:
>> > I've submitted a pull request ( https://github.com/numpy/numpy/pull/326
>> > ).
>> > I'm new to the numpy and python internals, so feedback is greatly
>> > appreciated.
>> >
>> >
>> > On Tue, Jun 26, 2012 at 12:10 PM, Travis Oliphant <travis@continuum.io>
>> > wrote:
>> >>
>> >>
>> >> On Jun 26, 2012, at 1:34 PM, Frédéric Bastien wrote:
>> >>
>> >> > Hi,
>> >> >
>> >> > I think he was referring that making NUMPY_ARRAY_OBJECT[...] syntax
>> >> > support the operation that you said is hard. But having a separate
>> >> > function do it is less complicated as you said.
>> >>
>> >> Yes. That's precisely what I meant.   Thank you for clarifying.
>> >>
>> >> -Travis
>> >>
>> >> >
>> >> > Fred
>> >> >
>> >> > On Tue, Jun 26, 2012 at 1:27 PM, John Salvatier
>> >> > <jsalvati@u.washington.edu> wrote:
>> >> >> Can you clarify why it would be super hard? I just reused the code
>> >> >> for
>> >> >> advanced indexing (a modification of PyArray_SetMap). Am I missing
>> >> >> something
>> >> >> crucial?
>> >> >>
>> >> >>
>> >> >>
>> >> >> On Tue, Jun 26, 2012 at 9:57 AM, Travis Oliphant
>> >> >> <travis@continuum.io>
>> >> >> wrote:
>> >> >>>
>> >> >>>
>> >> >>> On Jun 26, 2012, at 11:46 AM, John Salvatier wrote:
>> >> >>>
>> >> >>> Hello,
>> >> >>>
>> >> >>> If you increment an array using advanced indexing and have repeated
>> >> >>> indexes, the array doesn't get repeatedly
>> >> >>> incremented,
>> >> >>> http://comments.gmane.org/gmane.comp.python.numeric.general/50291.
>> >> >>> I wrote a C function that does incrementing with repeated indexes
>> >> >>> correctly.
>> >> >>> The branch is here (https://github.com/jsalvatier/numpy see the
>> >> >>> last
>> >> >>> two
>> >> >>> commits). Would a patch with a cleaned up version of a function
>> >> >>> like
>> >> >>> this be
>> >> >>> accepted into numpy? I'm not experienced writing numpy C code so
>> >> >>> I'm
>> >> >>> sure it
>> >> >>> still needs improvement.
>> >> >>>
>> >> >>>
>> >> >>> This is great.   It is an often-requested feature.   It's *very
>> >> >>> difficult*
>> >> >>> to do without changing fundamentally what NumPy is.  But, yes this
>> >> >>> would be
>> >> >>> a great pull request.
>> >> >>>
>> >> >>> Thanks,
>> >> >>>
>> >> >>> -Travis
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> _______________________________________________
>> >> >>> NumPy-Discussion mailing list
>> >> >>> NumPy-Discussion@scipy.org
>> >> >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>> >> >>>
>> >> >>
>> >> >>
>> >> >> _______________________________________________
>> >> >> NumPy-Discussion mailing list
>> >> >> NumPy-Discussion@scipy.org
>> >> >> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>> >> >>
>> >> > _______________________________________________
>> >> > NumPy-Discussion mailing list
>> >> > NumPy-Discussion@scipy.org
>> >> > http://mail.scipy.org/mailman/listinfo/numpy-discussion
>> >>
>> >> _______________________________________________
>> >> NumPy-Discussion mailing list
>> >> NumPy-Discussion@scipy.org
>> >> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>> >
>> >
>> >
>> > _______________________________________________
>> > NumPy-Discussion mailing list
>> > NumPy-Discussion@scipy.org
>> > http://mail.scipy.org/mailman/listinfo/numpy-discussion
>> >
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion@scipy.org
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>


More information about the NumPy-Discussion mailing list