It might be nice to turn the matrix class into a short class hierarchy, something like this:
class MatrixBase class DenseMatrix(MatrixBase) class TriangularMatrix(MatrixBase) # Maybe a few variations of upper/lower triangular and whether the diagonal is stored class SymmetricMatrix(MatrixBase) These other matrix classes could use packed storage, and could call the specific optimized BLAS/LAPACK functions to get higher performance when it is known the matrix is triangular or symmetric. I'm not sure whether this affects the discussion of the matrix * and \ operators, but it's a possibility to consider. -Mark On Mon, Feb 13, 2012 at 4:53 PM, Aaron Meurer <asmeu...@gmail.com> wrote: > I'd like the ability to make "in" (i.e., __contains__) return > something other than a bool. > > Also, the ability to make the x < y < z syntax would be useful. It's > been suggested that the ability to override the boolean operators > (and, or, not) would be the way to do this (pep 335), though I'm not > 100% convinced that's the way to go. > > Aaron Meurer > > On Mon, Feb 13, 2012 at 2:55 PM, Fernando Perez <fperez....@gmail.com> > wrote: > > Hi folks, > > > > [ I'm broadcasting this widely for maximum reach, but I'd appreciate > > it if replies can be kept to the *numpy* list, which is sort of the > > 'base' list for scientific/numerical work. It will make it much > > easier to organize a coherent set of notes later on. Apology if > > you're subscribed to all and get it 10 times. ] > > > > As part of the PyData workshop (http://pydataworkshop.eventbrite.com) > > to be held March 2 and 3 at the Mountain View Google offices, we have > > scheduled a session for an open discussion with Guido van Rossum and > > hopefully as many core python-dev members who can make it. We wanted > > to seize the combined opportunity of the PyData workshop bringing a > > number of 'scipy people' to Google with the timeline for Python 3.3, > > the first release after the Python language moratorium, being within > > sight: http://www.python.org/dev/peps/pep-0398. > > > > While a number of scientific Python packages are already available for > > Python 3 (either in released form or in their master git branches), > > it's fair to say that there hasn't been a major transition of the > > scientific community to Python3. Since there is no more development > > being done on the Python2 series, eventually we will all want to find > > ways to make this transition, and we think that this is an excellent > > time to engage the core python development team and consider ideas > > that would make Python3 generally a more appealing language for > > scientific work. Guido has made it clear that he doesn't speak for > > the day-to-day development of Python anymore, so we all should be > > aware that any ideas that come out of this panel will still need to be > > discussed with python-dev itself via standard mechanisms before > > anything is implemented. Nonetheless, the opportunity for a solid > > face-to-face dialog for brainstorming was too good to pass up. > > > > The purpose of this email is then to solicit, from all of our > > community, ideas for this discussion. In a week or so we'll need to > > summarize the main points brought up here and make a more concrete > > agenda out of it; I will also post a summary of the meeting afterwards > > here. > > > > Anything is a valid topic, some points just to get the conversation > started: > > > > - Extra operators/PEP 225. Here's a summary from the last time we > > went over this, years ago at Scipy 2008: > > > http://mail.scipy.org/pipermail/numpy-discussion/2008-October/038234.html, > > and the current status of the document we wrote about it is here: > > > file:///home/fperez/www/site/_build/html/py4science/numpy-pep225/numpy-pep225.html. > > > > - Improved syntax/support for rationals or decimal literals? While > > Python now has both decimals > > (http://docs.python.org/library/decimal.html) and rationals > > (http://docs.python.org/library/fractions.html), they're quite clunky > > to use because they require full constructor calls. Guido has > > mentioned in previous discussions toying with ideas about support for > > different kinds of numeric literals... > > > > - Using the numpy docstring standard python-wide, and thus having > > python improve the pathetic state of the stdlib's docstrings? This is > > an area where our community is light years ahead of the standard > > library, but we'd all benefit from Python itself improving on this > > front. I'm toying with the idea of giving a lighting talk at PyConn > > about this, comparing the great, robust culture and tools of good > > docstrings across the Scipy ecosystem with the sad, sad state of > > docstrings in the stdlib. It might spur some movement on that front > > from the stdlib authors, esp. if the core python-dev team realizes the > > value and benefit it can bring (at relatively low cost, given how most > > of the information does exist, it's just in the wrong places). But > > more importantly for us, if there was truly a universal standard for > > high-quality docstrings across Python projects, building good > > documentation/help machinery would be a lot easier, as we'd know what > > to expect and search for (such as rendering them nicely in the ipython > > notebook, providing high-quality cross-project help search, etc). > > > > - Literal syntax for arrays? Sage has been floating a discussion > > about a literal matrix syntax > > (https://groups.google.com/forum/#!topic/sage-devel/mzwepqZBHnA). For > > something like this to go into python in any meaningful way there > > would have to be core multidimensional arrays in the language, but > > perhaps it's time to think about a piece of the numpy array itself > > into Python? This is one of the more 'out there' ideas, but after > > all, that's the point of a discussion like this, especially > > considering we'll have both Travis and Guido in one room. > > > > - Other syntactic sugar? Sage has "a..b" <=> range(a, b+1), which I > > actually think is both nice and useful... There's also the question > > of allowing "a:b:c" notation outside of [], which has come up a few > > times in conversation over the last few years. Others? > > > > - The packaging quagmire? This continues to be a problem, though > > python3 does have new improvements to distutils. I'm not really up to > > speed on the situation, to be frank. If we want to bring this up, > > someone will have to provide a solid reference or volunteer to do it > > in person. > > > > - etc... > > > > I'm putting the above just to *start* the discussion, but the real > > point is for the rest of the community to contribute ideas, so don't > > be shy. > > > > Final note: while I am here commiting to organizing and presenting > > this at the discussion with Guido (as well as contacting python-dev), > > I would greatly appreciate help with the task of summarizing this > > prior to the meeting as I'm pretty badly swamped in the run-in to > > pydata/pycon. So if anyone is willing to help draft the summary as > > the date draws closer (we can put it up on a github wiki, gist, > > whatever), I will be very grateful. I'm sure it will be better than > > what I'll otherwise do the last night at 2am :) > > > > Cheers, > > > > f > > > > ps - to the obvious question about webcasting the discussion live for > > remote participation: yes, we looked into it already; no, > > unfortunately it appears it won't be possible. We'll try to at least > > have the audio recorded (and possibly video) for posting later on. > > > > pps- if you are close to Mountain View and are interested in attending > > this panel in person, drop me a line at fernando.pe...@berkeley.edu. > > We have a few spots available *for this discussion only* on top of the > > pydata regular attendance (which is long closed, I'm afraid). But > > we'll need to provide Google with a list of those attendees in > > advance. Please indicate if you are a core python committer in your > > email, as we'll give priority for this overflow pool to core python > > developers (but will otherwise accommodate as many people as Google > > lets us). > > _______________________________________________ > > IPython-dev mailing list > > ipython-...@scipy.org > > http://mail.scipy.org/mailman/listinfo/ipython-dev > _______________________________________________ > 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