summaryrefslogtreecommitdiff
path: root/numpy/matrixlib
Commit message (Collapse)AuthorAgeFilesLines
...
* STY: Giant comma spacing fixup.Charles Harris2013-08-185-137/+137
| | | | | | | Run the 2to3 ws_comma fixer on *.py files. Some lines are now too long and will need to be broken at some point. OTOH, some lines were already too long and need to be broken at some point. Now seems as good a time as any to do this with open PRs at a minimum.
* STY: Giant whitespace cleanup.Charles Harris2013-08-181-1/+0
| | | | Now is as good a time as any with open PR's at a low.
* ENH: add quickselect algorithm and expose it via partitionJulian Taylor2013-08-121-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | A partition sorts the kth element into its sorted order and moves all smaller elements before the kth element and all equal or greater elements behind it. The ordering of all elements in the partitions is undefined. It is implemented via the introselection algorithm which has worst case linear complexity compared to a full sort that has linearithmic complexity. The introselect algorithm uses a quickselect with median of three pivot and falls back to a quickselect with median of median of five pivot if no sufficient progress is made. The pivots used during the search for the wanted kth element can optionally be stored and reused for further partitionings of the array. This is used by the python interface if an array of kth is provided to the partitions function. This improves the performance of median and which need to select two elements if the size of the array is even. A percentile function interpolating between values also profits from this. String selection is implemented in terms of quicksort which has the same properties as a selection for now.
* ENH: Fix SyntaxError when matrix() is called with invalid stringLeon Weber2013-05-292-2/+15
| | | | | | | | | | | | The numpy.matrix constructor uses eval(str.translate(table)) to convert input strings to numeric matrix contents. str.translate(table) will return empty string if str consists only of invalid characters, causing SyntaxError in eval(). This is confusing, as one would expect an exception like TypeError when trying to construct a matrix from invalid input. This fix makes sure eval() is only called if str is not empty and TypeError is raised otherwise.
* 2to3: Apply `map` fixer.Charles Harris2013-04-101-1/+1
| | | | | | | | | | | | | | | | | | | In Python 3 `map` is an iterator while in Python 2 it returns a list. The simple fix applied by the fixer is to inclose all instances of map with `list(...)`. This is not needed in all cases, and even where appropriate list comprehensions may be preferred for their clarity. Consequently, this patch attempts to use list comprehensions where it makes sense. When the mapped function has two arguments there is another problem that can arise. In Python 3 map stops execution when the shortest argument list is exhausted, while in Python 2 it stops when the longest argument list is exhausted. Consequently the two argument case might need special care. However, we have been running Python3 converted versions of numpy since 1.5 without problems, so it is probably not something that affects us. Closes #3068
* 2to3: Apply `print` fixer.Charles Harris2013-04-067-7/+7
| | | | | | | Add `print_function` to all `from __future__ import ...` statements and use the python3 print function syntax everywhere. Closes #3078.
* Merge pull request #460 from endolith/regex_formattingCharles Harris2013-04-031-2/+2
|\ | | | | DOC: Formatting fixes using regex
| * DOC: Used regex to find colons missing spaces which render wrong online, ↵endolith2013-03-191-2/+2
| | | | | | | | also other spacing or formatting mistakes
* | 2to3: Use absolute imports.Charles Harris2013-03-286-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new import `absolute_import` is added the `from __future__ import` statement and The 2to3 `import` fixer is run to make the imports compatible. There are several things that need to be dealt with to make this work. 1) Files meant to be run as scripts run in a different environment than files imported as part of a package, and so changes to those files need to be skipped. The affected script files are: * all setup.py files * numpy/core/code_generators/generate_umath.py * numpy/core/code_generators/generate_numpy_api.py * numpy/core/code_generators/generate_ufunc_api.py 2) Some imported modules are not available as they are created during the build process and consequently 2to3 is unable to handle them correctly. Files that import those modules need a bit of extra work. The affected files are: * core/__init__.py, * core/numeric.py, * core/_internal.py, * core/arrayprint.py, * core/fromnumeric.py, * numpy/__init__.py, * lib/npyio.py, * lib/function_base.py, * fft/fftpack.py, * random/__init__.py Closes #3172
* | 2to3: Replace xrange by range and use list(range(...)) where neededCharles Harris2013-03-271-2/+2
|/ | | | | | | | | | | | | | | In python3 range is an iterator and `xrange` has been removed. This has two consequence for code: 1) Where a list is needed `list(range(...))` must be used. 2) `xrange` must be replaced by `range` Both of these changes also work in python2 and this patch makes both. There are three places fixed that do not need it, but I left them in so that the result would be `xrange` clean. Closes #3092
* 2to3: Put `from __future__ import division in every python file.Charles Harris2013-03-017-1/+17
| | | | | | | | This should be harmless, as we already are division clean. However, placement of this import takes some care. In the future a script can be used to append new features without worry, at least until such time as it exceeds a single line. Having that ability will make it easier to deal with absolute imports and printing updates.
* 2to3: Fix callable.Charles Harris2013-02-281-1/+2
|
* DEP: Remove scons related files and code.Charles Harris2013-01-131-13/+0
| | | | | | | | | This removes files and code supporting scons builds. After this change numpy will only support builds using distutils or bento. The removal of scons has been discussed on the list several times and a decision has been made that scons support is no longer needed. This was originally discussed for numpy 1.7 and because the distutils and bento methods are still available we are skipping the usual deprecation period.
* ENH: missingdata: Make numpy.all follow the NA || True == True ruleMark Wiebe2011-08-271-9/+18
|
* ENH: missingdata: Change things to help scipy pass its testsMark Wiebe2011-08-271-10/+26
| | | | Improving the NumPy tests a bit to catch these errors better...
* DOC: minor documentation fixesPauli Virtanen2011-06-251-1/+1
|
* STY: Replace assert by assert_ in tests. There remain 124 uses ofCharles Harris2011-04-053-80/+80
| | | | assert in non-testing files that should be checked for correctness.
* STY: Update exception styles, trickier ones.Charles Harris2011-04-051-1/+1
|
* STY: Update exception style, easy ones.Charles Harris2011-04-051-4/+4
|
* ENH: core: Change PyArray_CopyAnyInto and PyArray_MoveAnyInto to use the new ↵Mark Wiebe2011-01-171-1/+1
| | | | | | | | iterator I also found that the tricky case of CopyAnyInto wasn't being triggered by the test suite, so added a new function ndarray.setasflat, which calls CopyAnyInto.
* DOC: wiki merge, matrlixlib and some ndarray methods.rgommers2010-07-312-13/+13
|
* ENH: core: add .dot() method to ndarrays; a.dot(b) == np.dot(a, b)Pauli Virtanen2010-04-301-2/+3
|
* 3K: matrixlib: adapt to changes in str.translatePauli Virtanen2010-02-211-14/+26
|
* DEP: Fix deprecation warnings in Python 3.1. The warnings come from the unittestCharles Harris2010-02-201-1/+1
| | | | | | | | | module. The fix should be good for Python >= 2.4 and used the following sed script: s/\<failUnless\>/assertTrue/g s/\<failIf\>/assertFalse/g s/\<failUnlessEqual\>/assertEqual/g s/\<failUnlessRaises\>/assertRaises/g
* fixed a whole bunch of doctestsPaul Ivanov2009-12-281-4/+4
|
* Docstring update: matrixlibPauli Virtanen2009-10-021-140/+526
|
* Rename matrx to matrixlib.David Cournapeau2009-09-188-0/+1142
I forgot to commit the name change suggested by Stefan. You need to clean build/install directory when updating to this version.