[Numpy-discussion] NumPy release manager post

2012-06-03 Thread Ralf Gommers
Hi all,

You probably remember that I said that after numpy 1.7.0 was out I wanted
to step down as release manager for NumPy and focus more on SciPy. That was
4.5 months ago, and now that 1.7.0 keeps being postponed I'm actually
planning to not wait for it. I have found that it's not possible for me to
handle overlapping NumPy and SciPy release schedules well, therefore even
if the NA stuff is sorted out soon I don't think I could do a 1.7.0 release
within the next 6-8 weeks. A possible 1.6.3 release I could still do
without much trouble though.

Travis has already volunteered to manage the next release - thanks for that
Travis. If anyone else would like to pitch in, I'm sure that's very welcome
too. It doesn't require that you already know everything there is to know
about NumPy, just a willingness to dig in. Feel free to ask me either on-
or off-list for more details.

Cheers,
Ralf

P.S. I'll certainly not completely stop working on numpy (docs, testing,
distutils, ...)
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


[Numpy-discussion] numpy release process, adding a compatibility test step.

2010-02-06 Thread René Dudfield
Hi,

may I suggest an addition to the release process...

'Tests against popular libraries that rely on numpy at the RC stage.
Test at least these libraries pass their numpy related tests:
matplotlib, scipy, pygame, (insert others here?).  The release manage
should ask the mailing list for people to test the RC against these
libraries to make sure they work ok.'

- This will catch problems like the ABI one with the recent release.
- It is an explicit request for testing, with concrete tasks that
people can do.  Rather than a more abstract request for testing.
- not much extra work for the release manager.  testing work can be
distributed to anyone who can try an app, or library with the binaries
supplied in the RC stage of a release.
- binary installer users can test as well, not just people who build
from source.
- tests libraries the numpy developers may not be using all the time themselves.

On another project, adding this simple step helped prevent a number of
bugs which affected other programs and libraries using the project.
Before this was added we had a couple of releases which broke a few
popular libraries/apps with very simple regressions or bugs.


cu,
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release process, adding a compatibility test step.

2010-02-06 Thread Ralf Gommers
On Sat, Feb 6, 2010 at 6:44 PM, René Dudfield ren...@gmail.com wrote:

 Hi,

 may I suggest an addition to the release process...

 'Tests against popular libraries that rely on numpy at the RC stage.
 Test at least these libraries pass their numpy related tests:
 matplotlib, scipy, pygame, (insert others here?).  The release manage
 should ask the mailing list for people to test the RC against these
 libraries to make sure they work ok.'

 - This will catch problems like the ABI one with the recent release.
 - It is an explicit request for testing, with concrete tasks that
 people can do.  Rather than a more abstract request for testing.
 - not much extra work for the release manager.  testing work can be
 distributed to anyone who can try an app, or library with the binaries
 supplied in the RC stage of a release.
 - binary installer users can test as well, not just people who build
 from source.
 - tests libraries the numpy developers may not be using all the time
 themselves.

 On another project, adding this simple step helped prevent a number of
 bugs which affected other programs and libraries using the project.
 Before this was added we had a couple of releases which broke a few
 popular libraries/apps with very simple regressions or bugs.

 Thanks for the suggestion, I agree this will be useful. And a lot easier to
do than automated testing against other libraries, which will hopefully
happen at some point in the future.

Cheers,
Ralf
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-25 Thread Stéfan van der Walt
2008/4/25 Alan G Isaac [EMAIL PROTECTED]:
  2008/4/25 Alan G Isaac :

   So, if X is 2 by 2, then X[0] will be a row vector.
But if X is 1 by 2, then X[0] will be a scalar?
Ouch!
Bye bye generic code.


 On Fri, 25 Apr 2008, Stefan van der Walt apparently wrote:
   Yup.  That's the current state of things.

  I do not understand.
  The released state of things is that for matrix ``x``
  we have that ``x[0]`` is a **matrix**.

  I'm not working with SVN NumPy, but my understanding
  was that as of revision r5072 ``x[0]`` always
  returns a 1d array.  The core requirement was that
  ``x[0][0]`` produce the first element of the matrix.

  I do not have time to look at the revision right now,
  but if a matrix ``x`` we have that ``x[0]``
  can return a scalar, that is very undesirable.

In current SVN:

In [3]: x = np.matrix(np.arange(9).reshape((3,3)))

In [5]: x
Out[5]:
matrix([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])

In [6]: x[0]
Out[6]: matrix([[0, 1, 2]])

In [7]: x[0,:]
Out[7]: matrix([[0, 1, 2]])

In [8]: x[0][0]
Out[8]: 0

In [9]: x[0,:][0]
Out[9]: 0

In [10]: x[:,0]
Out[10]:
matrix([[0],
[3],
[6]])

In [11]: x[:,0][0]
Out[11]: 0

In [12]: x[:2,:2][0]
Out[12]: matrix([[0, 1]])


Regards
Stéfan
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-25 Thread Alan G Isaac
I think the use of the term 'vector' in this
thread is becoming a bit confusing.

An M by N matrix is a vector.  (I.e., it is
an element of a vector space.)

Many people use the terms row vector and column
vector to refer to special matrices.  What is
special is *not* that they are vectors (since
all matrices are) but that they are a single
row or a single column.  Perhaps better
terminology would have been row matrix and
column matrix.  Using this terminology, we
clearly expect a row matrix and a column matrix
to have transposes.  The question is, can their
elements be indexed by scalars.  The answer in
all the proposals, I believe, is yes.

I believe we are finding that this answer has
some problems.

x is a 2 by 2 matrix
x[0] is a 1 by 2 matrix
x[0][0] is x[0,0]   GOOD!!
y = x[0] - y is a 1 by 2 matrix
y[0][0] is a TypeError  BAD!!

So I am becoming more and more persuaded that
for a matrix ``x``:

x[0] should be a 1d array (always!)
x[0,:] should be a matrix

The rule:

use non-scalar indexing to extract submatrices

fwiw,
Alan Isaac



___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-25 Thread Alan G Isaac
On Fri, 25 Apr 2008, Stéfan van der Walt apparently wrote:
 In current SVN:
 In [6]: x[0] 
 Out[6]: matrix([[0, 1, 2]])



I must have misunderstood:
I thought the agreement was to
provisionally return a 1d array for x[0],
while we hashed through the other proposals.

Cheers,
Alan



___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-25 Thread Stéfan van der Walt
2008/4/25 Alan G Isaac [EMAIL PROTECTED]:
  I must have misunderstood:
  I thought the agreement was to
  provisionally return a 1d array for x[0],
  while we hashed through the other proposals.

The agreement was:

a) That x[0][0] should be equal to x[0,0] and
b) That x[0,:] should be equal to x[0] (as for ndarrays)

This breaks as little functionality as possible, at the cost of one
(instead of two) API changes.

We should now discuss the proposals on the table, choose a good one,
and implement all the API changes necessary for 1.2 or 2.  It's a pity
we have to change the API again, but the current situation is not
tenable.

Cheers
Stéfan
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-25 Thread Anne Archibald
On 25/04/2008, Stéfan van der Walt [EMAIL PROTECTED] wrote:
 2008/4/25 Alan G Isaac [EMAIL PROTECTED]:

   I must have misunderstood:
I thought the agreement was to
provisionally return a 1d array for x[0],
while we hashed through the other proposals.

 The agreement was:

  a) That x[0][0] should be equal to x[0,0] and
  b) That x[0,:] should be equal to x[0] (as for ndarrays)

  This breaks as little functionality as possible, at the cost of one
  (instead of two) API changes.

Hold on. There has definitely been some confusion here. This is not
what I thought I was suggesting, or what Alan thought he was
suggesting. I do not think special-casing matrices for which one
dimension happens to be one is a good idea at all, even temporarily.
This is the kind of thing that drives users crazy.

My suggested stopgap fix was to make x[0] return a 1D *array*; I feel
that this will result in less special-casing. In fact I wasn't aware
that anyone had proposed the fix you implemented. Can we change the
stopgap solution?

  We should now discuss the proposals on the table, choose a good one,
  and implement all the API changes necessary for 1.2 or 2.  It's a pity
  we have to change the API again, but the current situation is not
  tenable.

Yes, well, it really looks unlikely we will be able to agree on what
the correct solution is before 1.1, so I would like to have something
non-broken for that release.

Anne
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-25 Thread Charles R Harris
On Fri, Apr 25, 2008 at 10:04 AM, Alan G Isaac [EMAIL PROTECTED] wrote:

 I think the use of the term 'vector' in this
 thread is becoming a bit confusing.

 An M by N matrix is a vector.  (I.e., it is
 an element of a vector space.)


Sure, but the important thing is the multiplication. If it wasn't we could
just flatten them all and be done with this discussion. Super bonus, no need
for the '*' operator.

Chuck
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-25 Thread Charles Doutriaux
Anne Archibald wrote:
 Yes, well, it really looks unlikely we will be able to agree on what
 the correct solution is before 1.1, so I would like to have something
 non-broken for that release.
   

+1 on that!
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-25 Thread Jarrod Millman
I was hoping to get NumPy 1.1 tagged today, but it seems very unlikely
at this point.  Unfortunately, I haven't followed the matrix
discussion as closely as I would like, so I can't tell if there is
anything so uncontroversial that it would make sense to change for the
1.1.0 release.  If there is something that can be unanimously agreed
on within the next 24 hours or so, I would be happy to have it
included in 1.1.  If not, I would rather see us move on to working on
1.2 and releasing 1.1 ASAP.

If there is unanimous agreement on a minor fix, we will need document
the changes on the release notes.  So once an agreement is reached,
could someone either send me some text to insert into the release
notes or update the document themselves:
http://projects.scipy.org/scipy/numpy/milestone/1.1.0

This also might be a good opportunity to start a new thread with a
subject line like 1.2 matrices.  The discussion about matrices in
this thread makes it difficult for me to quickly see what still needs
to done before the 1.1 release.  And there may also be some members of
the community who would be very interested in the matrices discussion,
but aren't reading this thread.

-- 
Jarrod Millman
Computational Infrastructure for Research Labs
10 Giannini Hall, UC Berkeley
phone: 510.643.4014
http://cirl.berkeley.edu/
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-25 Thread Stéfan van der Walt
2008/4/25 Stéfan van der Walt [EMAIL PROTECTED]:
  I'm starting to see Chris Barker's point; allowing x[0] is causing
  more problems than it is worth.  On the other hand, how would you
  index into a vector (as in
  http://en.wikipedia.org/wiki/Vector_(spatial)) without it?

To answer my own question: you wouldn't.  Vectors won't exist,
everything will be 2D, always.  I could go with that.

Cheers
Stéfan
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-25 Thread David Huard
2008/4/24 Jarrod Millman [EMAIL PROTECTED]:

 On Thu, Apr 24, 2008 at 1:22 PM, David Huard wrote:
   Assuming we want the next version to : ignore values outside of range
 and
  accept and return the bin edges instead of the left edges, here could be
 the
  new signature for 1.1:
   h, edges = histogram(a, bins=10, normed=False, range=None,
 normed=False,
  new=False)
 
   If new=False, return the histogram and the left edges, with a warning
 that
  in the next version, the edges will be returned. If new=True, return the
  histogram and the edges.
   If range is given explicitly , raise a warning saying that in the next
  version, the outliers will be ignored.  To ignore outliers, use
 new=True.
   If bins is a sequence, raise an error saying that bins should be an
  integer. To use explicit edges, use new=True.
 
   In 1.2, set new=True as the default, and in 2.3, remove new altogether.

 +1
 That sounds fine to me assuming 2.3 is 1.3.


Indeed.

Done in r5085. I added a bunch of tests, but I'd appreciate if someone could
double check before the release. This is not the time to introduce new bugs.


Hopefully this is the end of the histogram saga.

David


 --
 Jarrod Millman
 Computational Infrastructure for Research Labs
 10 Giannini Hall, UC Berkeley
 phone: 510.643.4014
 http://cirl.berkeley.edu/
 ___
 Numpy-discussion mailing list
 Numpy-discussion@scipy.org
 http://projects.scipy.org/mailman/listinfo/numpy-discussion

___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-25 Thread David Huard
2008/4/25 David Huard [EMAIL PROTECTED]:

 2008/4/24 Jarrod Millman [EMAIL PROTECTED]:

  On Thu, Apr 24, 2008 at 1:22 PM, David Huard wrote:
Assuming we want the next version to : ignore values outside of range
  and
   accept and return the bin edges instead of the left edges, here could
  be the
   new signature for 1.1:
h, edges = histogram(a, bins=10, normed=False, range=None,
  normed=False,
   new=False)
  
If new=False, return the histogram and the left edges, with a warning
  that
   in the next version, the edges will be returned. If new=True, return
  the
   histogram and the edges.
If range is given explicitly , raise a warning saying that in the
  next
   version, the outliers will be ignored.  To ignore outliers, use
  new=True.
If bins is a sequence, raise an error saying that bins should be an
   integer. To use explicit edges, use new=True.
  
In 1.2, set new=True as the default, and in 2.3, remove new
  altogether.
 
  +1
  That sounds fine to me assuming 2.3 is 1.3.
 

 Indeed.

 Done in r5085. I added a bunch of tests, but I'd appreciate if someone
 could double check before the release. This is not the time to introduce new
 bugs.

 Hopefully this is the end of the histogram saga.


Well, it's not... there is still an issue... give me a couple of minutes to
fix it.



 David


  --
  Jarrod Millman
  Computational Infrastructure for Research Labs
  10 Giannini Hall, UC Berkeley
  phone: 510.643.4014
  http://cirl.berkeley.edu/
  ___
  Numpy-discussion mailing list
  Numpy-discussion@scipy.org
  http://projects.scipy.org/mailman/listinfo/numpy-discussion
 


___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-25 Thread David Huard
Thanks Chuck,

I didn't know there were other tests for histogram outside of
test_function_base.

The error is now raised only if bins are passed explicitly and normed=True.

David

2008/4/25 Charles R Harris [EMAIL PROTECTED]:



 On Fri, Apr 25, 2008 at 12:55 PM, Jarrod Millman [EMAIL PROTECTED]
 wrote:

  On Fri, Apr 25, 2008 at 12:55 PM, David Huard [EMAIL PROTECTED]
  wrote:
Done in r5085. I added a bunch of tests, but I'd appreciate if
  someone
   could double check before the release. This is not the time to
  introduce new
   bugs.
   
Hopefully this is the end of the histogram saga.
   
  


 This one?

 ERROR: Ticket #632
 --
 Traceback (most recent call last):
   File
 /usr/lib/python2.5/site-packages/numpy/core/tests/test_regression.py, line
 812, in check_hist_bins_as_list
 hist,edges = np.histogram([1,2,3,4],[1,2])
   File /usr/lib/python2.5/site-packages/numpy/lib/function_base.py, line
 184, in histogram
 raise ValueError, 'Use new=True to pass bin edges explicitly.'
 ValueError: Use new=True to pass bin edges explicitly.

 Chuck


 ___
 Numpy-discussion mailing list
 Numpy-discussion@scipy.org
 http://projects.scipy.org/mailman/listinfo/numpy-discussion


___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-24 Thread Nadav Horesh

Some, including me, stated that the matrix class suffer some deficiencies, so, 
after playing a bit with matrices, we always go back to the good old ndarray 
class.  There were some arguments on this list what/if should be dome to 
correct it. I welcome any attempt to build a code that demonstrates an 
alternative.

  Nadav.

-הודעה מקורית-
מאת: [EMAIL PROTECTED] בשם St?fan van der Walt
נשלח: ה 24-אפריל-08 13:13
אל: Discussion of Numerical Python
נושא: Re: [Numpy-discussion] numpy release
 
2008/4/24 Nadav Horesh [EMAIL PROTECTED]:
 +1

+1 to what?  I'm glad that Tim chimed in -- his opinion is always
valued -- but I didn't see any concrete suggestions on how to improve
the situation.  I'll gladly wait for his code, though :)

Regards
St?fan
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion

winmail.dat___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-24 Thread Pauli Virtanen
Wed, 23 Apr 2008 16:20:41 -0400, David Huard wrote:
 2008/4/23, Stéfan van der Walt [EMAIL PROTECTED]:
  Of those tickets, the following are serious:
 
  http://projects.scipy.org/scipy/numpy/ticket/605 (a patch is
  available?, David Huard)
Fixing of histogram.

 I haven't found a way to fix histogram reliably without breaking the
 current behavior. There is a patch attached to the ticket, if the
 decision is to break histogram.

Summary of the facts (again...):

  a) histogram's docstring does not match its behavior wrt
 discarding data

  b) given variable-width bins, histogram(..., normed=True)
 the results are wrong

  c) it might make more sense to handle discarding data in some
 other way than what histogram does now

I think there are now a couple of choices what to do with this:

  A) Change the semantics of histogram function. Old code using histogram 
will just simply break, maybe in mysterious ways.

  B) Rename the bins parameter to bin_edges or something else, so that 
any old code using histogram immediately raises an exception that is 
easily understood.

  C) Create a new parameter with more sensible behavior and a name 
different from bins, and deprecate (at least giving sequences to) the 
bins parameter: put up a DeprecationWarning if the user does this, but 
still produce the same results as the old histogram. This way the user 
can forward-port her code at leisure.

  D) Or, retain the old behavior (values below lowest bin ignored) and 
just fix the docstring and the normed=True bug? (I have a patch doing 
this.)


So which one (or something else) do we choose for 1.1.0?

-- 
Pauli Virtanen

___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-24 Thread Tommy Grav
I think a long term strategy needs to be adopted for histogram.
Right now there is a great confusion in what the bins keyword
does. Right now it is defined as the lower edge of each bin, meaning
that the last bin is open ended and [inf,bin0 does not exist. While
this may not be the right thing to fix in 1.1.0, I would really like to
see it fixed somewhere down the line.


On Apr 24, 2008, at 10:28 AM, Pauli Virtanen wrote:

 Wed, 23 Apr 2008 16:20:41 -0400, David Huard wrote:
 I haven't found a way to fix histogram reliably without breaking the
 current behavior. There is a patch attached to the ticket, if the
 decision is to break histogram.

 Summary of the facts (again...):

  a) histogram's docstring does not match its behavior wrt
 discarding data

This is an easy fix and should definitively go into 1.1.0 :)

  b) given variable-width bins, histogram(..., normed=True)
 the results are wrong

Also a quick fix that should be part of 1.1.0

  c) it might make more sense to handle discarding data in some
 other way than what histogram does now

I would like to see this, but it does not have to happen in 1.1.0 :)

 I think there are now a couple of choices what to do with this:

  A) Change the semantics of histogram function. Old code using  
 histogram
 will just simply break, maybe in mysterious ways

Not really a satisfactory approach. I really don't mind, even though  
it would break
some code of mine. I would rather see a better function and have to do  
some
code changes, than the current confusion. Other people will likely  
disagree.

 B) Rename the bins parameter to bin_edges or something else, so that
 any old code using histogram immediately raises an exception that is
 easily understood.

Given this approach bin_edges would contain one more value than bins  
given
that the right edge of the last bin has to be defined.

 C) Create a new parameter with more sensible behavior and a name
 different from bins, and deprecate (at least giving sequences to)  
 the
 bins parameter: put up a DeprecationWarning if the user does this,  
 but
 still produce the same results as the old histogram. This way the user
 can forward-port her code at leisure.

I think this is probably the best approach to accommodate everyone.

 So which one (or something else) do we choose for 1.1.0?

 -- 
 Pauli Virtanen

Cheers
Tommy
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-24 Thread David Huard
The problem I see with C is that it will break compatibility with the other
histogram functions, which also use bins.

So here is suggestion E:

The most common use case ( I think) is the following:
h, b = histogram(r, number_of_bins, normed=True/False) for which the
function behaves correctly.

Assuming we want the next version to : ignore values outside of range and
accept and return the bin edges instead of the left edges, here could be the
new signature for 1.1:
h, edges = histogram(a, bins=10, normed=False, range=None, normed=False,
new=False)

If new=False, return the histogram and the left edges, with a warning that
in the next version, the edges will be returned. If new=True, return the
histogram and the edges.
If range is given explicitly , raise a warning saying that in the next
version, the outliers will be ignored.  To ignore outliers, use new=True.
If bins is a sequence, raise an error saying that bins should be an integer.
To use explicit edges, use new=True.

In 1.2, set new=True as the default, and in 2.3, remove new altogether.


David

2008/4/24 Travis E. Oliphant [EMAIL PROTECTED]:

 Pauli Virtanen wrote:
 
C) Create a new parameter with more sensible behavior and a name
  different from bins, and deprecate (at least giving sequences to) the
  bins parameter: put up a DeprecationWarning if the user does this, but
  still produce the same results as the old histogram. This way the user
  can forward-port her code at leisure.
 


D) Or, retain the old behavior (values below lowest bin ignored) and
  just fix the docstring and the normed=True bug? (I have a patch doing
  this.)
 
 
  So which one (or something else) do we choose for 1.1.0?
 
 
 I like either C or D,  but prefer C if it can be done before 1.1.0.

 -Travis



 ___
 Numpy-discussion mailing list
 Numpy-discussion@scipy.org
 http://projects.scipy.org/mailman/listinfo/numpy-discussion

___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-24 Thread Alan G Isaac
On Wed, 23 Apr 2008, Timothy Hochberg apparently wrote:
 I think the way to go is to probably add some meta 
 information 

I have added this as Proposal 4 at
URL:http://www.scipy.org/MatrixIndexing
Forgive anything said the misrepresents your intent.

Cheers,
Alan


___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-24 Thread Stéfan van der Walt
2008/4/25 Alan G Isaac [EMAIL PROTECTED]:
  So, if X is 2 by 2, then X[0] will be a row vector.
  But if X is 1 by 2, then X[0] will be a scalar?
  Ouch!
  Bye bye generic code.

Yup.  That's the current state of things.

Stéfan
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-24 Thread Bill Baxter
On Thu, Apr 24, 2008 at 11:16 AM, Timothy Hochberg
[EMAIL PROTECTED] wrote:

 [CHOP]

 The proposals thus far don't address two of the major issues I have with the
 matrix class:

The thing that seems missing to me is support for LAPACK's banded and
packed (triangular) storage formats.  I don't have an urgent need for
it, but it seems like a serious front end for doing linear algebra
should at least provide a convenient way to access all of what LAPACK
offers.

Perhaps these other formats could/should be supported by different
classes, though, the way it is done for sparse matrices.  But the fact
that more matrix types could exist some day is all the more reason to
make sure the interface makes sense for more than just strided memory.
 My hunch is if the API is workable for both ndarray matrices and
sparse matrices, then it should be ok for these other formats too.

--bb
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-24 Thread Bill Baxter
On Fri, Apr 25, 2008 at 10:23 AM, Christopher Barker
[EMAIL PROTECTED] wrote:
 Alan G Isaac wrote:
   On Thu, 24 Apr 2008, Christopher Barker apparently wrote:
   I suppose a Vector can be either a (n,1) or a (1,n)
   matrix that allows single indexing.
  
   This bothers me.
  
   So, if X is 2 by 2, then X[0] will be a row vector.
   But if X is 1 by 2, then X[0] will be a scalar?
   Ouch!
   Bye bye generic code.

  exactly one of the things that really bugged me with MATLAB!

I thought MATLAB treated a single index as a flat index.  So it yields
a scalar no matter what (actually a 1x1 matrix no matter what, since
it's all matrices in matlab).

--bb
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-23 Thread Stéfan van der Walt
2008/4/23 Ondrej Certik [EMAIL PROTECTED]:
  What is the plan with the release? There are some minor problems in
  the Debian package, some of which are fixed by the new release.
  I didn't fix those in Debian as I thought the new release is coming
  out. But if it's going to take let's say month or two, I'll fix the
  current Debian package now.

The question is: what blocks the release of 1.1?  The following
tickets deserve attention:

http://projects.scipy.org/scipy/numpy/ticket/750
http://projects.scipy.org/scipy/numpy/ticket/605
http://projects.scipy.org/scipy/numpy/ticket/551
http://projects.scipy.org/scipy/numpy/ticket/738
http://projects.scipy.org/scipy/numpy/ticket/743
http://projects.scipy.org/scipy/numpy/ticket/748
http://projects.scipy.org/scipy/numpy/ticket/751
http://projects.scipy.org/scipy/numpy/ticket/736

Further issues:

- Alan's matrix indexing: x[0][0] for matrices currently yield x[0]

Regards
Stéfan
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-23 Thread Jarrod Millman
On Wed, Apr 23, 2008 at 6:21 AM, Stéfan van der Walt [EMAIL PROTECTED] wrote:
  The question is: what blocks the release of 1.1?  The following
  tickets deserve attention:

  http://projects.scipy.org/scipy/numpy/ticket/750
  http://projects.scipy.org/scipy/numpy/ticket/605
  http://projects.scipy.org/scipy/numpy/ticket/551
  http://projects.scipy.org/scipy/numpy/ticket/738
  http://projects.scipy.org/scipy/numpy/ticket/743
  http://projects.scipy.org/scipy/numpy/ticket/748
  http://projects.scipy.org/scipy/numpy/ticket/751
  http://projects.scipy.org/scipy/numpy/ticket/736

  Further issues:

  - Alan's matrix indexing: x[0][0] for matrices currently yield x[0]

I was still hoping to get 1.1.0 out ASAP.  Unfortunately, I have been
too busy for the last week to pay attention to the release blockers.
The last time I looked the only issues I felt absolutely needed to be
resolved before the release were:
1.  Testing the Windows binary, which is now done.
2.  Testing the Mac binary, which is now done.
3.  Testing or removing fromregex, which is now done:
http://projects.scipy.org/scipy/numpy/ticket/719

I haven't looked carefully at the above tickets, but at a cursory
glance it didn't seem like there were any new regressions.  Stefan
could you confirm that?  If so, I would like to branch 1.1.x and tag
1.1.0 on Friday night.  Unless there is some concrete reason that we
need to delay this release any longer, I will send out an email later
today with an 'official' timeline for the release, which will probably
be on Monday if I tag on Friday night.

Thanks,

-- 
Jarrod Millman
Computational Infrastructure for Research Labs
10 Giannini Hall, UC Berkeley
phone: 510.643.4014
http://cirl.berkeley.edu/
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-23 Thread Stéfan van der Walt
Hi Jarrod

Of those tickets, the following are serious:

http://projects.scipy.org/scipy/numpy/ticket/605 (a patch is
available?, David Huard)
  Fixing of histogram.

http://projects.scipy.org/scipy/numpy/ticket/551 (old regression,
Chuck and Travis)
  Unpickled arrays don't work as expected, because of memory alignment issues.

http://projects.scipy.org/scipy/numpy/ticket/748 (old regression, Stefan)
  ifft pads incorrectly.  I can fix this tonight, if someone would
verify that this is, indeed, a bug.

http://projects.scipy.org/scipy/numpy/ticket/751 (old/new regression,
Stefan, David C*)
  ALL section not recognised in site.cfg.  In Python 2.6, the DEFAULT
section no longer works.  I replaced it with ALL, but apparently not
everything works as expected.  David has a way to reproduce the
problem, so I hope he can have a look, otherwise I'll try and fix it
tomorrow.

Regards
Stéfan

2008/4/23 Jarrod Millman [EMAIL PROTECTED]:
 On Wed, Apr 23, 2008 at 6:21 AM, Stéfan van der Walt [EMAIL PROTECTED] 
 wrote:
The question is: what blocks the release of 1.1?  The following
tickets deserve attention:
  
http://projects.scipy.org/scipy/numpy/ticket/750
http://projects.scipy.org/scipy/numpy/ticket/605
http://projects.scipy.org/scipy/numpy/ticket/551
http://projects.scipy.org/scipy/numpy/ticket/738
http://projects.scipy.org/scipy/numpy/ticket/743
http://projects.scipy.org/scipy/numpy/ticket/748
http://projects.scipy.org/scipy/numpy/ticket/751
http://projects.scipy.org/scipy/numpy/ticket/736
  
Further issues:
  
- Alan's matrix indexing: x[0][0] for matrices currently yield x[0]

  I was still hoping to get 1.1.0 out ASAP.  Unfortunately, I have been
  too busy for the last week to pay attention to the release blockers.
  The last time I looked the only issues I felt absolutely needed to be
  resolved before the release were:
  1.  Testing the Windows binary, which is now done.
  2.  Testing the Mac binary, which is now done.
  3.  Testing or removing fromregex, which is now done:
  http://projects.scipy.org/scipy/numpy/ticket/719

  I haven't looked carefully at the above tickets, but at a cursory
  glance it didn't seem like there were any new regressions.  Stefan
  could you confirm that?  If so, I would like to branch 1.1.x and tag
  1.1.0 on Friday night.  Unless there is some concrete reason that we
  need to delay this release any longer, I will send out an email later
  today with an 'official' timeline for the release, which will probably
  be on Monday if I tag on Friday night.

  Thanks,

  --
  Jarrod Millman
  Computational Infrastructure for Research Labs
  10 Giannini Hall, UC Berkeley
  phone: 510.643.4014
  http://cirl.berkeley.edu/

___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-23 Thread Anne Archibald
On 23/04/2008, Alan Isaac [EMAIL PROTECTED] wrote:
 On Wed, 23 Apr 2008, Sebastian Haase wrote:
   What used to be referred to a the 1.1 version, that can
   break more stuff, to allow for a cleaner design, will now
   be 1.2

 So ... fixing x[0][0] for matrices should wait
  until 1.2.  Is that correct?

It seems to me that everyone agrees that the current situation is
broken, but there is considerable disagreement on what the correct fix
is. My inclination is to apply the minimal fix you suggest, with tests
and documentation, as a stopgap, and let the different factions sort
it out by discussion on the way to 1.2.

Objections?

Anne
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-23 Thread Jarrod Millman
On Wed, Apr 23, 2008 at 11:32 AM, Anne Archibald
[EMAIL PROTECTED] wrote:
   So ... fixing x[0][0] for matrices should wait
until 1.2.  Is that correct?

  It seems to me that everyone agrees that the current situation is
  broken, but there is considerable disagreement on what the correct fix
  is. My inclination is to apply the minimal fix you suggest, with tests
  and documentation, as a stopgap, and let the different factions sort
  it out by discussion on the way to 1.2.

+1
That sound reasonable to me.

-- 
Jarrod Millman
Computational Infrastructure for Research Labs
10 Giannini Hall, UC Berkeley
phone: 510.643.4014
http://cirl.berkeley.edu/
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-23 Thread David Huard
2008/4/23, Stéfan van der Walt [EMAIL PROTECTED]:

 Hi Jarrod

 Of those tickets, the following are serious:

 http://projects.scipy.org/scipy/numpy/ticket/605 (a patch is
 available?, David Huard)
   Fixing of histogram.


I haven't found a way to fix histogram reliably without breaking the current
behavior. There is a patch attached to the ticket, if the decision is to
break histogram.

David
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-23 Thread Alan Isaac
On Wed, 23 Apr 2008, Stéfan van der Walt wrote:
 Done in r5072. 

Much appreciated.
I have updated URL:http://www.scipy.org/MatrixIndexing
to reflect this change (and its provisional status).
Alan



___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-23 Thread Christopher Barker
Alan Isaac wrote:
 I have updated URL:http://www.scipy.org/MatrixIndexing
 to reflect this change (and its provisional status).

Thanks for writing this up -- it really clarifies what's being proposed. 
A few comments on that write up:

  For matrix x, should x[0].A[0] == x.A[0][0]? That is, should the array
  attribute of a Row Vector or Column Vector be 1d?

Absolutely -- a vector is a 1-d array. The only difference here is that 
we can preserve the concept of a row vs. a column vector -- key to 
linear algebra, which is the whole point of the Matrix class. I'd be 
just as happy if a RowVector an ColumnVector were a more unique object 
-- a 1-d array with the operation overloaded, rather than a (1,n) or 
(n,1) matrix, but I understand that would be more work.

  Deviations from the behavior of ndarrays. Specifically, iteration over
  a matrix will not yield 1d NumPy arrays.

Why should they? indexing a nested list gives a different result than 
indexing an ndarray, etc, etc, etc. The POINT of matrixes is that they 
are different! This proposal makes them a little more similar to 
ndarrays than the old behavior (always returning a matrix).

  Inconsistency in the indexing style for producing row vectors and
  column vectors

not really:

row vector: M[i,:]
column vector: M[:,i]

The fact that there is another way to get a row vector: M[i] is a bonus. 
I once proposed making M[i] raise an exception for the sake of enforcing 
consistency, but no one liked that!

  Loss of a standard way to extract a row or a column as a submatrix
  (rather than a vector)

What's wrong with:

M[i:i+1, :] and M[:, i:i+1]

This is totally consistent with arrays (and other python sequences). 
Yes, it's a bit more awkward, but with the new vectors, it's also going 
to be needed far less.

  No clear gain in functionality over the simpler proposal 2.

Well, I won't judge what's clear but I think this adds functionality. 
The concept of row and column vectors is a key part of linear algebra. 
Sure, you can model them as matrixes that happen to have only one row or 
one column, but that's what we had, but there seem to be real issues 
with use of that. Option (2), is Let a Matrix be a container of 1d 
arrays.. Sounds simple, but do those arrays represent row or column 
vectors? Either would make sense. The proposal is for them to be row 
vectors, which is fine, but then if you want them to act like a row 
vectors, do you need to convert them back into matrices? Even if not, 
how do you get a column vector -- by indexing the current way, and 
getting a (n,1) matrix, so that now we have inconsistency between how 
row and column vectors are treated -- not a clean API.

And this is about a clean API for linear algebra -- otherwise, we'd just 
all use arrays (which many do!)

Aside from the fact that someone needs to write the code -- why don't 
people like the row/column vector idea? It just feels so natural to me:

A matrix is a 2-d array with some functionality overloaded to make it 
convenient to do linear algebra.

A vector is a 1-d array with some functionality overloaded to make it 
convenient to do linear algebra.

A scalar is the same in both contexts, so no need to change anything there.

And yes, maybe this will lead to tensors some day!

Another couple questions: -- would there be constructors for vectors?

np.RowVector((1,2,3,4,5))
np.ColumnVector((1,2,3,4,5,6))

and would:
A_RowVector.T == A_ColumnVector

I would think so.

One more note:

All the example code I've seen during this discussion have been examples 
of iterating and indexing -- not one has actually been linear algebra -- 
perhaps we should see some of those before making any decisions.

-Chris



-- 
Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/ORR(206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115   (206) 526-6317   main reception

[EMAIL PROTECTED]
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-23 Thread Stéfan van der Walt
2008/4/23 Christopher Barker [EMAIL PROTECTED]:
  Aside from the fact that someone needs to write the code -- why don't
  people like the row/column vector idea? It just feels so natural to me:

I wrote most of the code last week (see the previous thread on the
mailing list for a patch).  It currently only implements Vector (not
RowVector and ColumnVector), but those two would be easy to add.

Cheers
Stéfan
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] numpy release

2008-04-23 Thread Timothy Hochberg
[CHOP]

The proposals thus far don't address two of the major issues I have with the
matrix class:

   1. The matrices and arrays should become more alike if possible and
   should share more of the same code base. From what I've seen, the people who
   write the code (for numpy) don't actually use matrices, they use the arrays.
   This is one of the main reasons matrices still have so many problems IMO; if
   one of the main developers were using them, they'd never have put up with
   it. This may be changing to some extent now, but the more we can make
   matrices and arrays share code and interface, the happier we'll be. None of
   the new rules strike me as helping in this arena and may in fact hurt.
   Again, IMO.
   2. This doesn't support the concept of arrays of matrices/vectors, which
   is one thing I've always wanted out of the matrix class. For example it
   would be nice to be able to spell: 'A' is a 1D array of matrices (3D)
   overall, 'B' is a 1D array of vectors (3D) overall, matrix multiply them
   together, yielding a 1D array of matrices (3D) overall. I have frequently
   run into various permutations of this problem. You can fake it with loops
   over dot, but the efficiency is very bad for small arrays, plus it's ugly.

I have lot's of vague ideas on this subject that have been floating around
my head for the past couple of years. Basically, I think the way to go is to
probably add some meta information to arrays that make them look a little
bit more like tensors. Then, if one is careful (and things work out as I
hope) matrices could be implemented as a thin layer on top of arrays. Or
perhaps, if we are very lucky, done away with altogether.

Anyway, that's all very vague and hand-wavey; if I can spring free some
time, I'll try to write something up in the not too distant future. I'm glad
to see that any major changes are being put off for a while: I think we
should be able to do better than just patch up the old matrix class.

-tim
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


[Numpy-discussion] numpy release

2008-04-14 Thread Ondrej Certik
Hi Jarrod,

any news with the 1.0.5? If you have same prerelease, I'd like to test
it. Debian has just moved from python2.4 to python2.5 yesterday, so
I'd like to test numpy in advance, I am sure there will be some issues
to fix.

Ondrej
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion