summaryrefslogtreecommitdiff
path: root/numpy/matrixlib
Commit message (Collapse)AuthorAgeFilesLines
* TST, MAINT: Add `__init__.py` files to tests directories.Charles Harris2017-08-061-0/+0
| | | | | | | | This allows pytest to run with duplicate test file names. Note that `python <path-to-test-file>` no longer works with this change, nor will a simple `pytest numpy`, because numpy is imported from the numpy repository. However, `python runtests.py` and `>>> numpy.test()` are still available.
* Merge pull request #9505 from eric-wieser/fix-issubdtypeCharles Harris2017-08-062-1/+7
|\ | | | | BUG: issubdtype is inconsistent on types and dtypes
| * BUG: Be explicit about allowing all integer types in matrix exponentiationEric Wieser2017-08-052-1/+7
| | | | | | | | Fixes gh-9506, unsigned exponentiation
* | MAINT: Remove `level=` keyword from test arguments.Charles Harris2017-08-051-5/+4
|/ | | | | | I don't know what that argument was used for, but it showis up in old tests and is not explicitly used within the tests. I assume it was part of an old testing framework and is now longer needed.
* TST: Remove unittest dependencies in matrixlib/tests.Charles Harris2017-07-174-24/+25
|
* MAINT: Rearrange files in numpy/testing module.Charles Harris2017-07-041-1/+1
| | | | | | | | | | | | | | | | | The aim here is to separate out the nose dependent files prior to adding pytest support. This could be done by adding new files to the general numpy/testing directory, but I felt that it was to have the relevant files separated out as it makes it easier to completely remove nose dependencies when needed. Many places were accessing submodules in numpy/testing directly, and in some cases incorrectly. That presented a backwards compatibility problem. The solution adapted here is to have "dummy" files whose contents will depend on whether of not pytest is active. That way the module looks the same as before from the outside. In the case of numpy itself, direct accesses have been fixed. Having proper `__all__` lists in the submodules helped in that.
* DOC: BLD: fix lots of Sphinx warnings/errors.Ralf Gommers2017-06-101-1/+1
|
* BUG: KeyboardInterrupt is swallowed all over the placeEric Wieser2017-06-031-1/+1
| | | | Bare except is very rarely the right thing
* DOC: Improve release notes and cross-referencesEric Wieser2017-04-201-3/+5
| | | | Based on feedback in #7768
* BUG: Fix creating a np.matrix from string syntax involving booleans (#8497)Zè Vinícius2017-03-012-41/+12
| | | | | | Fixes #8459 * DOC: add release note [ci skip]
* MAINT: replace len(x.shape) with x.ndimEric Wieser2017-02-241-1/+1
|
* DOC: Fix more typos in docs and comments.Dongjoon Hyun2016-02-251-1/+1
|
* DOC: Clarify the docstrings of matrix.argmin and matrix.argmax.Charles Harris2016-01-091-2/+10
| | | | [ci skip]
* DOC: Update defmatrix.argmax docstring.Nicolás Della Penna2016-01-091-1/+1
| | | | [ci skip]
* [TST] Refactor new raise_warnings logic for subpackage test suitesNathaniel J. Smith2015-12-301-3/+3
|
* DOC: Use print only as function when print_function is imported from __future__gfyoung2015-12-191-1/+1
| | | | Closes gh-6863.
* DEP: Stricter arg checking for array orderinggfyoung2015-12-181-6/+8
| | | | | | | | | | | | | The bug traces to the PyArray_OrderConverter method in conversion_utils.c, where no errors are thrown if the ORDER parameter passed in is not of the string data-type or has a string value of length greater than one. This commit causes a DeprecationWarning to be raised, which will later be turned into a TypeError or another type of error in a future release. Closes gh-6598.
* STY: PEP8 and pyflakes fixes for numpy/matrixlib/tests.Charles Harris2015-07-253-110/+110
|
* DOC: Remove references to removed setasflat ndarray method.Charles Harris2015-07-011-1/+1
|
* BUG: np.nonzero behaving differently for 1-D arraysJaime Fernandez2015-05-132-4/+4
| | | | Fixes #5837
* DOC: Reconcile docstrings and function signatures where they disagreeRobert McGibbon2015-03-021-0/+2
| | | | | Fixed typos in docstrings were updated for functions where the parameter names in the docstring didn't match the function signature.
* BUG: Make ravel function return 1-D arrays for matrix argument.Charles Harris2015-01-041-5/+5
| | | | | | This is a backward compatibility hack to avoid breaking scipy.sparse after fixing ravel to respect subtypes. Subtypes are still respected except in the case of matrices and subclasses of matrices.
* BUG: Make diag, diagonal return 1-D arrays for matrix arguments.Charles Harris2015-01-041-7/+7
| | | | | | | | This is an ugly hack to preserve backwards compatibility for code that uses matrices. It is needed since both diag and diagonal have been changed to preserve subtypes otherwise. Note that a.diagonal() still returns matrices when a is a matrix.
* BUG: Fixes #5376: np.ravel to return same array typeGarrett-R2015-01-021-7/+11
| | | | | | | | In PR #5358, np.diagonal was modified to return whatever array type it took in. Also, np.cumsum and np.clip return the same array type. So, np.ravel's behavior is surprising. Two tests which were expecting np.ravel to return an array have been changed. Also, the optional `order` parameter was added to MaskedArray.ravel to make it compatible (matrix.ravel already had this parameter).
* BUG: Closes #2015: diag returns ndarrayGarrett-R2014-12-081-1/+11
| | | | | | | If x is a matrix, np.diag(x) and np.diagonal(x) now return matrices instead of arrays. Both of these cause x.diagonal() to be called. That means they return row vectors (just like x.flatten(), x.ravel(), x.cumprod(), etc.)
* DOC: document `ldict` and `gdict` in bmat, closes #5058jaimefrio2014-09-201-0/+6
|
* TST: pass sys.argv to run_module_suite by defaultJulian Taylor2014-09-043-1/+10
| | | | | allows passing flags like --pdb to test files also add call to files where its missing
* Merge pull request #4932 from argriffing/ravel-docstringsCharles Harris2014-08-042-0/+87
|\ | | | | DOC: clarify matrix.ravel docstring and add tests
| * MAINT: use N.ndarray instead of core.multiarray.ndarrayalex2014-08-041-2/+1
| |
| * DOC: clarify that matrix.ravel only copies if necessary; this is already testedalex2014-07-311-1/+2
| |
| * MAINT: restore optional ravel order and add tests and more docstring linesalex2014-07-312-11/+76
| |
| * MAINT: fix the importalex2014-07-311-1/+2
| |
| * DOC: add minimal clarification to the matrix.ravel docstringalex2014-07-311-0/+21
| |
* | DOC: matrix.squeeze docstringalex2014-08-011-0/+54
| |
* | DOC: clarify matrix flatten docstringalex2014-07-311-2/+5
| |
* | DOC: use m for matrix instead of a for arrayalex2014-07-311-4/+4
| |
* | DOC: matrix flatten docstringalex2014-07-311-0/+33
|/
* ENH: add tobytes and stop using tostring in documentationJulian Taylor2014-02-111-2/+2
| | | | | | | tostring returns bytes which are not equal to string, so provide a tobytes function alias. tostring does not emit a deprecation warning yet so rdepends do not need to check two names to support older versions of numpy without warnings.
* DOC: make docstrings of matrix properties (.T, .H, .I, .A, .A1) work.Ralf Gommers2013-10-041-6/+6
| | | | Closes gh-1939.
* 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.