numpy 1.9.3__zip → 1.10.0__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1590) hide show
  1. numpy-1.10.0.post2/INSTALL.txt +200 -0
  2. numpy-1.10.0.post2/LICENSE.txt +30 -0
  3. numpy-1.10.0.post2/MANIFEST.in +31 -0
  4. numpy-1.10.0.post2/PKG-INFO +47 -0
  5. numpy-1.10.0.post2/cnew.txt +117 -0
  6. numpy-1.10.0.post2/cold.txt +44 -0
  7. numpy-1.10.0.post2/committers.txt +160 -0
  8. numpy-1.10.0.post2/cpre.txt +283 -0
  9. numpy-1.10.0.post2/crel.txt +161 -0
  10. numpy-1.10.0.post2/doc/release/1.10.0-notes.rst +439 -0
  11. numpy-1.10.0.post2/doc/source/conf.py +331 -0
  12. numpy-1.10.0.post2/doc/source/dev/development_environment.rst +211 -0
  13. numpy-1.10.0.post2/doc/source/dev/gitwash/development_workflow.rst +534 -0
  14. numpy-1.10.0.post2/doc/source/dev/gitwash/git_links.inc +95 -0
  15. numpy-1.10.0.post2/doc/source/dev/gitwash/index.rst +14 -0
  16. numpy-1.10.0.post2/doc/source/dev/index.rst +11 -0
  17. numpy-1.10.0.post2/doc/source/reference/arrays.classes.rst +490 -0
  18. numpy-1.10.0.post2/doc/source/reference/arrays.dtypes.rst +536 -0
  19. numpy-1.10.0.post2/doc/source/reference/arrays.indexing.rst +549 -0
  20. numpy-1.10.0.post2/doc/source/reference/arrays.interface.rst +337 -0
  21. numpy-1.10.0.post2/doc/source/reference/arrays.ndarray.rst +622 -0
  22. numpy-1.10.0.post2/doc/source/reference/arrays.scalars.rst +291 -0
  23. numpy-1.10.0.post2/doc/source/reference/c-api.array.rst +3393 -0
  24. numpy-1.10.0.post2/doc/source/reference/c-api.config.rst +103 -0
  25. numpy-1.10.0.post2/doc/source/reference/c-api.coremath.rst +420 -0
  26. numpy-1.10.0.post2/doc/source/reference/c-api.dtype.rst +376 -0
  27. numpy-1.10.0.post2/doc/source/reference/c-api.generalized-ufuncs.rst +191 -0
  28. numpy-1.10.0.post2/doc/source/reference/c-api.iterator.rst +1300 -0
  29. numpy-1.10.0.post2/doc/source/reference/c-api.types-and-structures.rst +1240 -0
  30. numpy-1.10.0.post2/doc/source/reference/c-api.ufunc.rst +413 -0
  31. numpy-1.10.0.post2/doc/source/reference/index.rst +43 -0
  32. numpy-1.10.0.post2/doc/source/reference/internals.code-explanations.rst +615 -0
  33. numpy-1.10.0.post2/doc/source/reference/routines.array-manipulation.rst +115 -0
  34. numpy-1.10.0.post2/doc/source/reference/routines.io.rst +78 -0
  35. numpy-1.10.0.post2/doc/source/reference/routines.linalg.rst +91 -0
  36. numpy-1.10.0.post2/doc/source/reference/routines.ma.rst +407 -0
  37. numpy-1.10.0.post2/doc/source/reference/routines.sort.rst +41 -0
  38. numpy-1.10.0.post2/doc/source/reference/routines.statistics.rst +57 -0
  39. numpy-1.10.0.post2/doc/source/reference/swig.interface-file.rst +1066 -0
  40. numpy-1.10.0.post2/doc/source/reference/swig.testing.rst +167 -0
  41. numpy-1.10.0.post2/doc/source/reference/ufuncs.rst +666 -0
  42. numpy-1.10.0.post2/doc/source/release.rst +20 -0
  43. numpy-1.10.0.post2/doc/source/user/basics.io.genfromtxt.rst +531 -0
  44. numpy-1.10.0.post2/doc/source/user/basics.rec.rst +7 -0
  45. numpy-1.10.0.post2/doc/source/user/c-info.beyond-basics.rst +560 -0
  46. numpy-1.10.0.post2/doc/source/user/c-info.how-to-extend.rst +642 -0
  47. numpy-1.10.0.post2/doc/source/user/c-info.python-as-glue.rst +1177 -0
  48. numpy-1.10.0.post2/doc/source/user/c-info.ufunc-tutorial.rst +1211 -0
  49. numpy-1.10.0.post2/doc/source/user/install.rst +194 -0
  50. numpy-1.10.0.post2/numpy/__init__.py +227 -0
  51. numpy-1.10.0.post2/numpy/_build_utils/README +8 -0
  52. numpy-1.10.0.post2/numpy/_build_utils/apple_accelerate.py +21 -0
  53. numpy-1.10.0.post2/numpy/_build_utils/common.py +138 -0
  54. numpy-1.10.0.post2/numpy/_build_utils/src/apple_sgemv_fix.c +227 -0
  55. numpy-1.10.0.post2/numpy/_build_utils/waf.py +531 -0
  56. numpy-1.10.0.post2/numpy/_import_tools.py +353 -0
  57. numpy-1.10.0.post2/numpy/add_newdocs.py +7611 -0
  58. numpy-1.10.0.post2/numpy/compat/_inspect.py +194 -0
  59. numpy-1.10.0.post2/numpy/compat/py3k.py +88 -0
  60. numpy-1.10.0.post2/numpy/compat/setup.py +12 -0
  61. numpy-1.10.0.post2/numpy/core/__init__.py +89 -0
  62. numpy-1.10.0.post2/numpy/core/_internal.py +761 -0
  63. numpy-1.10.0.post2/numpy/core/_methods.py +133 -0
  64. numpy-1.10.0.post2/numpy/core/arrayprint.py +760 -0
  65. numpy-1.10.0.post2/numpy/core/code_generators/cversions.txt +34 -0
  66. numpy-1.10.0.post2/numpy/core/code_generators/generate_ufunc_api.py +219 -0
  67. numpy-1.10.0.post2/numpy/core/code_generators/generate_umath.py +1017 -0
  68. numpy-1.10.0.post2/numpy/core/code_generators/numpy_api.py +415 -0
  69. numpy-1.10.0.post2/numpy/core/code_generators/ufunc_docstrings.py +3442 -0
  70. numpy-1.10.0.post2/numpy/core/defchararray.py +2689 -0
  71. numpy-1.10.0.post2/numpy/core/fromnumeric.py +3089 -0
  72. numpy-1.10.0.post2/numpy/core/function_base.py +203 -0
  73. numpy-1.10.0.post2/numpy/core/getlimits.py +308 -0
  74. numpy-1.10.0.post2/numpy/core/include/numpy/ndarrayobject.h +246 -0
  75. numpy-1.10.0.post2/numpy/core/include/numpy/ndarraytypes.h +1797 -0
  76. numpy-1.10.0.post2/numpy/core/include/numpy/npy_3kcompat.h +448 -0
  77. numpy-1.10.0.post2/numpy/core/include/numpy/npy_common.h +1051 -0
  78. numpy-1.10.0.post2/numpy/core/include/numpy/npy_cpu.h +92 -0
  79. numpy-1.10.0.post2/numpy/core/include/numpy/npy_endian.h +61 -0
  80. numpy-1.10.0.post2/numpy/core/include/numpy/npy_math.h +525 -0
  81. numpy-1.10.0.post2/numpy/core/include/numpy/numpyconfig.h +36 -0
  82. numpy-1.10.0.post2/numpy/core/machar.py +342 -0
  83. numpy-1.10.0.post2/numpy/core/memmap.py +311 -0
  84. numpy-1.10.0.post2/numpy/core/numeric.py +2893 -0
  85. numpy-1.10.0.post2/numpy/core/numerictypes.py +1036 -0
  86. numpy-1.10.0.post2/numpy/core/records.py +846 -0
  87. numpy-1.10.0.post2/numpy/core/setup.py +983 -0
  88. numpy-1.10.0.post2/numpy/core/setup_common.py +352 -0
  89. numpy-1.10.0.post2/numpy/core/shape_base.py +350 -0
  90. numpy-1.10.0.post2/numpy/core/src/multiarray/alloc.c +244 -0
  91. numpy-1.10.0.post2/numpy/core/src/multiarray/arrayobject.c +1858 -0
  92. numpy-1.10.0.post2/numpy/core/src/multiarray/arraytypes.c.src +4738 -0
  93. numpy-1.10.0.post2/numpy/core/src/multiarray/arraytypes.h +37 -0
  94. numpy-1.10.0.post2/numpy/core/src/multiarray/buffer.c +981 -0
  95. numpy-1.10.0.post2/numpy/core/src/multiarray/calculation.c +1224 -0
  96. numpy-1.10.0.post2/numpy/core/src/multiarray/cblasfuncs.c +812 -0
  97. numpy-1.10.0.post2/numpy/core/src/multiarray/cblasfuncs.h +10 -0
  98. numpy-1.10.0.post2/numpy/core/src/multiarray/common.c +911 -0
  99. numpy-1.10.0.post2/numpy/core/src/multiarray/common.h +250 -0
  100. numpy-1.10.0.post2/numpy/core/src/multiarray/compiled_base.c +1664 -0
  101. numpy-1.10.0.post2/numpy/core/src/multiarray/compiled_base.h +24 -0
  102. numpy-1.10.0.post2/numpy/core/src/multiarray/conversion_utils.c +1217 -0
  103. numpy-1.10.0.post2/numpy/core/src/multiarray/convert.c +590 -0
  104. numpy-1.10.0.post2/numpy/core/src/multiarray/convert_datatype.c +2155 -0
  105. numpy-1.10.0.post2/numpy/core/src/multiarray/ctors.c +3838 -0
  106. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime.c +3821 -0
  107. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime_busday.c +1322 -0
  108. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime_busdaycal.c +552 -0
  109. numpy-1.10.0.post2/numpy/core/src/multiarray/datetime_strings.c +1772 -0
  110. numpy-1.10.0.post2/numpy/core/src/multiarray/descriptor.c +3719 -0
  111. numpy-1.10.0.post2/numpy/core/src/multiarray/dtype_transfer.c +4239 -0
  112. numpy-1.10.0.post2/numpy/core/src/multiarray/einsum.c.src +3005 -0
  113. numpy-1.10.0.post2/numpy/core/src/multiarray/getset.c +986 -0
  114. numpy-1.10.0.post2/numpy/core/src/multiarray/hashdescr.c +318 -0
  115. numpy-1.10.0.post2/numpy/core/src/multiarray/item_selection.c +2413 -0
  116. numpy-1.10.0.post2/numpy/core/src/multiarray/iterators.c +2192 -0
  117. numpy-1.10.0.post2/numpy/core/src/multiarray/lowlevel_strided_loops.c.src +1769 -0
  118. numpy-1.10.0.post2/numpy/core/src/multiarray/mapping.c +3380 -0
  119. numpy-1.10.0.post2/numpy/core/src/multiarray/mapping.h +77 -0
  120. numpy-1.10.0.post2/numpy/core/src/multiarray/methods.c +2514 -0
  121. numpy-1.10.0.post2/numpy/core/src/multiarray/multiarray_tests.c.src +1035 -0
  122. numpy-1.10.0.post2/numpy/core/src/multiarray/multiarraymodule.c +4628 -0
  123. numpy-1.10.0.post2/numpy/core/src/multiarray/multiarraymodule.h +15 -0
  124. numpy-1.10.0.post2/numpy/core/src/multiarray/nditer_api.c +2809 -0
  125. numpy-1.10.0.post2/numpy/core/src/multiarray/nditer_constr.c +3160 -0
  126. numpy-1.10.0.post2/numpy/core/src/multiarray/nditer_pywrap.c +2499 -0
  127. numpy-1.10.0.post2/numpy/core/src/multiarray/number.c +1106 -0
  128. numpy-1.10.0.post2/numpy/core/src/multiarray/number.h +77 -0
  129. numpy-1.10.0.post2/numpy/core/src/multiarray/numpymemoryview.c +308 -0
  130. numpy-1.10.0.post2/numpy/core/src/multiarray/numpyos.c +683 -0
  131. numpy-1.10.0.post2/numpy/core/src/multiarray/scalarapi.c +870 -0
  132. numpy-1.10.0.post2/numpy/core/src/multiarray/scalartypes.c.src +4343 -0
  133. numpy-1.10.0.post2/numpy/core/src/multiarray/scalartypes.h +55 -0
  134. numpy-1.10.0.post2/numpy/core/src/multiarray/shape.c +1131 -0
  135. numpy-1.10.0.post2/numpy/core/src/multiarray/ucsnarrow.c +174 -0
  136. numpy-1.10.0.post2/numpy/core/src/multiarray/vdot.c +180 -0
  137. numpy-1.10.0.post2/numpy/core/src/multiarray/vdot.h +18 -0
  138. numpy-1.10.0.post2/numpy/core/src/npymath/ieee754.c.src +808 -0
  139. numpy-1.10.0.post2/numpy/core/src/npymath/npy_math.c.src +597 -0
  140. numpy-1.10.0.post2/numpy/core/src/npymath/npy_math_complex.c.src +1788 -0
  141. numpy-1.10.0.post2/numpy/core/src/npymath/npy_math_private.h +544 -0
  142. numpy-1.10.0.post2/numpy/core/src/npysort/heapsort.c.src +402 -0
  143. numpy-1.10.0.post2/numpy/core/src/npysort/mergesort.c.src +488 -0
  144. numpy-1.10.0.post2/numpy/core/src/npysort/npysort_common.h +360 -0
  145. numpy-1.10.0.post2/numpy/core/src/npysort/quicksort.c.src +523 -0
  146. numpy-1.10.0.post2/numpy/core/src/npysort/selection.c.src +426 -0
  147. numpy-1.10.0.post2/numpy/core/src/private/npy_cblas.h +584 -0
  148. numpy-1.10.0.post2/numpy/core/src/private/npy_config.h +101 -0
  149. numpy-1.10.0.post2/numpy/core/src/private/npy_import.h +32 -0
  150. numpy-1.10.0.post2/numpy/core/src/private/npy_partition.h.src +122 -0
  151. numpy-1.10.0.post2/numpy/core/src/private/npy_sort.h +196 -0
  152. numpy-1.10.0.post2/numpy/core/src/private/templ_common.h.src +43 -0
  153. numpy-1.10.0.post2/numpy/core/src/private/ufunc_override.h +397 -0
  154. numpy-1.10.0.post2/numpy/core/src/umath/funcs.inc.src +356 -0
  155. numpy-1.10.0.post2/numpy/core/src/umath/loops.c.src +2675 -0
  156. numpy-1.10.0.post2/numpy/core/src/umath/loops.h.src +497 -0
  157. numpy-1.10.0.post2/numpy/core/src/umath/operand_flag_tests.c.src +105 -0
  158. numpy-1.10.0.post2/numpy/core/src/umath/scalarmath.c.src +1738 -0
  159. numpy-1.10.0.post2/numpy/core/src/umath/simd.inc.src +903 -0
  160. numpy-1.10.0.post2/numpy/core/src/umath/test_rational.c.src +1404 -0
  161. numpy-1.10.0.post2/numpy/core/src/umath/ufunc_object.c +5703 -0
  162. numpy-1.10.0.post2/numpy/core/src/umath/ufunc_type_resolution.c +2159 -0
  163. numpy-1.10.0.post2/numpy/core/src/umath/umath_tests.c.src +392 -0
  164. numpy-1.10.0.post2/numpy/core/src/umath/umathmodule.c +443 -0
  165. numpy-1.10.0.post2/numpy/core/tests/test_abc.py +47 -0
  166. numpy-1.10.0.post2/numpy/core/tests/test_api.py +515 -0
  167. numpy-1.10.0.post2/numpy/core/tests/test_arrayprint.py +171 -0
  168. numpy-1.10.0.post2/numpy/core/tests/test_datetime.py +1820 -0
  169. numpy-1.10.0.post2/numpy/core/tests/test_defchararray.py +703 -0
  170. numpy-1.10.0.post2/numpy/core/tests/test_deprecations.py +619 -0
  171. numpy-1.10.0.post2/numpy/core/tests/test_dtype.py +578 -0
  172. numpy-1.10.0.post2/numpy/core/tests/test_einsum.py +627 -0
  173. numpy-1.10.0.post2/numpy/core/tests/test_errstate.py +52 -0
  174. numpy-1.10.0.post2/numpy/core/tests/test_function_base.py +142 -0
  175. numpy-1.10.0.post2/numpy/core/tests/test_getlimits.py +77 -0
  176. numpy-1.10.0.post2/numpy/core/tests/test_half.py +436 -0
  177. numpy-1.10.0.post2/numpy/core/tests/test_indexerrors.py +126 -0
  178. numpy-1.10.0.post2/numpy/core/tests/test_indexing.py +1047 -0
  179. numpy-1.10.0.post2/numpy/core/tests/test_item_selection.py +73 -0
  180. numpy-1.10.0.post2/numpy/core/tests/test_machar.py +29 -0
  181. numpy-1.10.0.post2/numpy/core/tests/test_memmap.py +130 -0
  182. numpy-1.10.0.post2/numpy/core/tests/test_multiarray.py +5924 -0
  183. numpy-1.10.0.post2/numpy/core/tests/test_multiarray_assignment.py +84 -0
  184. numpy-1.10.0.post2/numpy/core/tests/test_nditer.py +2638 -0
  185. numpy-1.10.0.post2/numpy/core/tests/test_numeric.py +2204 -0
  186. numpy-1.10.0.post2/numpy/core/tests/test_numerictypes.py +382 -0
  187. numpy-1.10.0.post2/numpy/core/tests/test_print.py +248 -0
  188. numpy-1.10.0.post2/numpy/core/tests/test_records.py +299 -0
  189. numpy-1.10.0.post2/numpy/core/tests/test_regression.py +2177 -0
  190. numpy-1.10.0.post2/numpy/core/tests/test_scalarinherit.py +41 -0
  191. numpy-1.10.0.post2/numpy/core/tests/test_scalarmath.py +316 -0
  192. numpy-1.10.0.post2/numpy/core/tests/test_shape_base.py +319 -0
  193. numpy-1.10.0.post2/numpy/core/tests/test_ufunc.py +1227 -0
  194. numpy-1.10.0.post2/numpy/core/tests/test_umath.py +1933 -0
  195. numpy-1.10.0.post2/numpy/core/tests/test_umath_complex.py +538 -0
  196. numpy-1.10.0.post2/numpy/core/tests/test_unicode.py +360 -0
  197. numpy-1.10.0.post2/numpy/distutils/__init__.py +23 -0
  198. numpy-1.10.0.post2/numpy/distutils/ccompiler.py +690 -0
  199. numpy-1.10.0.post2/numpy/distutils/command/autodist.py +94 -0
  200. numpy-1.10.0.post2/numpy/distutils/command/build.py +47 -0
  201. numpy-1.10.0.post2/numpy/distutils/command/build_clib.py +295 -0
  202. numpy-1.10.0.post2/numpy/distutils/command/build_ext.py +522 -0
  203. numpy-1.10.0.post2/numpy/distutils/command/config.py +437 -0
  204. numpy-1.10.0.post2/numpy/distutils/exec_command.py +651 -0
  205. numpy-1.10.0.post2/numpy/distutils/fcompiler/compaq.py +128 -0
  206. numpy-1.10.0.post2/numpy/distutils/fcompiler/gnu.py +403 -0
  207. numpy-1.10.0.post2/numpy/distutils/fcompiler/intel.py +217 -0
  208. numpy-1.10.0.post2/numpy/distutils/fcompiler/pg.py +63 -0
  209. numpy-1.10.0.post2/numpy/distutils/fcompiler/sun.py +55 -0
  210. numpy-1.10.0.post2/numpy/distutils/intelccompiler.py +95 -0
  211. numpy-1.10.0.post2/numpy/distutils/lib2def.py +116 -0
  212. numpy-1.10.0.post2/numpy/distutils/mingw32ccompiler.py +599 -0
  213. numpy-1.10.0.post2/numpy/distutils/misc_util.py +2306 -0
  214. numpy-1.10.0.post2/numpy/distutils/msvc9compiler.py +23 -0
  215. numpy-1.10.0.post2/numpy/distutils/msvccompiler.py +17 -0
  216. numpy-1.10.0.post2/numpy/distutils/npy_pkg_config.py +451 -0
  217. numpy-1.10.0.post2/numpy/distutils/system_info.py +2397 -0
  218. numpy-1.10.0.post2/numpy/distutils/tests/f2py_ext/tests/test_fib2.py +12 -0
  219. numpy-1.10.0.post2/numpy/distutils/tests/f2py_f90_ext/tests/test_foo.py +11 -0
  220. numpy-1.10.0.post2/numpy/distutils/tests/gen_ext/tests/test_fib3.py +11 -0
  221. numpy-1.10.0.post2/numpy/distutils/tests/pyrex_ext/tests/test_primes.py +13 -0
  222. numpy-1.10.0.post2/numpy/distutils/tests/swig_ext/__init__.py +1 -0
  223. numpy-1.10.0.post2/numpy/distutils/tests/swig_ext/tests/test_example.py +17 -0
  224. numpy-1.10.0.post2/numpy/distutils/tests/swig_ext/tests/test_example2.py +15 -0
  225. numpy-1.10.0.post2/numpy/distutils/tests/test_fcompiler_gnu.py +60 -0
  226. numpy-1.10.0.post2/numpy/distutils/tests/test_fcompiler_intel.py +36 -0
  227. numpy-1.10.0.post2/numpy/distutils/tests/test_misc_util.py +79 -0
  228. numpy-1.10.0.post2/numpy/distutils/tests/test_npy_pkg_config.py +102 -0
  229. numpy-1.10.0.post2/numpy/distutils/tests/test_system_info.py +209 -0
  230. numpy-1.10.0.post2/numpy/distutils/unixccompiler.py +125 -0
  231. numpy-1.10.0.post2/numpy/doc/byteswapping.py +156 -0
  232. numpy-1.10.0.post2/numpy/doc/creation.py +144 -0
  233. numpy-1.10.0.post2/numpy/doc/glossary.py +423 -0
  234. numpy-1.10.0.post2/numpy/doc/indexing.py +439 -0
  235. numpy-1.10.0.post2/numpy/doc/structured_arrays.py +290 -0
  236. numpy-1.10.0.post2/numpy/f2py/__init__.py +49 -0
  237. numpy-1.10.0.post2/numpy/f2py/__main__.py +25 -0
  238. numpy-1.10.0.post2/numpy/f2py/auxfuncs.py +858 -0
  239. numpy-1.10.0.post2/numpy/f2py/capi_maps.py +851 -0
  240. numpy-1.10.0.post2/numpy/f2py/cb_rules.py +554 -0
  241. numpy-1.10.0.post2/numpy/f2py/cfuncs.py +1261 -0
  242. numpy-1.10.0.post2/numpy/f2py/common_rules.py +150 -0
  243. numpy-1.10.0.post2/numpy/f2py/crackfortran.py +3314 -0
  244. numpy-1.10.0.post2/numpy/f2py/diagnose.py +156 -0
  245. numpy-1.10.0.post2/numpy/f2py/f2py2e.py +656 -0
  246. numpy-1.10.0.post2/numpy/f2py/f2py_testing.py +48 -0
  247. numpy-1.10.0.post2/numpy/f2py/f90mod_rules.py +272 -0
  248. numpy-1.10.0.post2/numpy/f2py/func2subr.py +299 -0
  249. numpy-1.10.0.post2/numpy/f2py/rules.py +1475 -0
  250. numpy-1.10.0.post2/numpy/f2py/setup.py +117 -0
  251. numpy-1.10.0.post2/numpy/f2py/src/fortranobject.c +1037 -0
  252. numpy-1.10.0.post2/numpy/f2py/src/fortranobject.h +162 -0
  253. numpy-1.10.0.post2/numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c +223 -0
  254. numpy-1.10.0.post2/numpy/f2py/tests/test_array_from_pyobj.py +593 -0
  255. numpy-1.10.0.post2/numpy/f2py/tests/test_assumed_shape.py +35 -0
  256. numpy-1.10.0.post2/numpy/f2py/tests/test_callback.py +136 -0
  257. numpy-1.10.0.post2/numpy/f2py/tests/test_kind.py +36 -0
  258. numpy-1.10.0.post2/numpy/f2py/tests/test_mixed.py +40 -0
  259. numpy-1.10.0.post2/numpy/f2py/tests/test_regression.py +34 -0
  260. numpy-1.10.0.post2/numpy/f2py/tests/test_return_character.py +148 -0
  261. numpy-1.10.0.post2/numpy/f2py/tests/test_return_complex.py +170 -0
  262. numpy-1.10.0.post2/numpy/f2py/tests/test_return_integer.py +180 -0
  263. numpy-1.10.0.post2/numpy/f2py/tests/test_return_logical.py +189 -0
  264. numpy-1.10.0.post2/numpy/f2py/tests/test_return_real.py +206 -0
  265. numpy-1.10.0.post2/numpy/f2py/tests/test_size.py +44 -0
  266. numpy-1.10.0.post2/numpy/f2py/tests/util.py +367 -0
  267. numpy-1.10.0.post2/numpy/f2py/use_rules.py +115 -0
  268. numpy-1.10.0.post2/numpy/fft/fftpack.c +1501 -0
  269. numpy-1.10.0.post2/numpy/fft/fftpack.h +28 -0
  270. numpy-1.10.0.post2/numpy/fft/fftpack.py +1241 -0
  271. numpy-1.10.0.post2/numpy/fft/fftpack_litemodule.c +363 -0
  272. numpy-1.10.0.post2/numpy/fft/info.py +187 -0
  273. numpy-1.10.0.post2/numpy/fft/setup.py +19 -0
  274. numpy-1.10.0.post2/numpy/fft/tests/test_fftpack.py +166 -0
  275. numpy-1.10.0.post2/numpy/fft/tests/test_helper.py +78 -0
  276. numpy-1.10.0.post2/numpy/lib/_iotools.py +917 -0
  277. numpy-1.10.0.post2/numpy/lib/arraypad.py +1497 -0
  278. numpy-1.10.0.post2/numpy/lib/arraysetops.py +480 -0
  279. numpy-1.10.0.post2/numpy/lib/arrayterator.py +226 -0
  280. numpy-1.10.0.post2/numpy/lib/financial.py +737 -0
  281. numpy-1.10.0.post2/numpy/lib/format.py +814 -0
  282. numpy-1.10.0.post2/numpy/lib/function_base.py +4150 -0
  283. numpy-1.10.0.post2/numpy/lib/index_tricks.py +874 -0
  284. numpy-1.10.0.post2/numpy/lib/info.py +152 -0
  285. numpy-1.10.0.post2/numpy/lib/nanfunctions.py +1237 -0
  286. numpy-1.10.0.post2/numpy/lib/npyio.py +1992 -0
  287. numpy-1.10.0.post2/numpy/lib/polynomial.py +1277 -0
  288. numpy-1.10.0.post2/numpy/lib/recfunctions.py +1003 -0
  289. numpy-1.10.0.post2/numpy/lib/setup.py +12 -0
  290. numpy-1.10.0.post2/numpy/lib/shape_base.py +872 -0
  291. numpy-1.10.0.post2/numpy/lib/stride_tricks.py +200 -0
  292. numpy-1.10.0.post2/numpy/lib/tests/data/py2-objarr.npy +0 -0
  293. numpy-1.10.0.post2/numpy/lib/tests/data/py2-objarr.npz +0 -0
  294. numpy-1.10.0.post2/numpy/lib/tests/data/py3-objarr.npy +0 -0
  295. numpy-1.10.0.post2/numpy/lib/tests/data/py3-objarr.npz +0 -0
  296. numpy-1.10.0.post2/numpy/lib/tests/test__iotools.py +348 -0
  297. numpy-1.10.0.post2/numpy/lib/tests/test__version.py +70 -0
  298. numpy-1.10.0.post2/numpy/lib/tests/test_arraypad.py +1047 -0
  299. numpy-1.10.0.post2/numpy/lib/tests/test_arraysetops.py +309 -0
  300. numpy-1.10.0.post2/numpy/lib/tests/test_financial.py +163 -0
  301. numpy-1.10.0.post2/numpy/lib/tests/test_format.py +841 -0
  302. numpy-1.10.0.post2/numpy/lib/tests/test_function_base.py +2555 -0
  303. numpy-1.10.0.post2/numpy/lib/tests/test_index_tricks.py +326 -0
  304. numpy-1.10.0.post2/numpy/lib/tests/test_io.py +1916 -0
  305. numpy-1.10.0.post2/numpy/lib/tests/test_nanfunctions.py +707 -0
  306. numpy-1.10.0.post2/numpy/lib/tests/test_packbits.py +26 -0
  307. numpy-1.10.0.post2/numpy/lib/tests/test_polynomial.py +188 -0
  308. numpy-1.10.0.post2/numpy/lib/tests/test_recfunctions.py +734 -0
  309. numpy-1.10.0.post2/numpy/lib/tests/test_shape_base.py +386 -0
  310. numpy-1.10.0.post2/numpy/lib/tests/test_stride_tricks.py +405 -0
  311. numpy-1.10.0.post2/numpy/lib/tests/test_twodim_base.py +535 -0
  312. numpy-1.10.0.post2/numpy/lib/tests/test_type_check.py +332 -0
  313. numpy-1.10.0.post2/numpy/lib/twodim_base.py +1007 -0
  314. numpy-1.10.0.post2/numpy/lib/type_check.py +596 -0
  315. numpy-1.10.0.post2/numpy/lib/utils.py +1122 -0
  316. numpy-1.10.0.post2/numpy/linalg/lapack_lite/python_xerbla.c +46 -0
  317. numpy-1.10.0.post2/numpy/linalg/lapack_litemodule.c +358 -0
  318. numpy-1.10.0.post2/numpy/linalg/linalg.py +2406 -0
  319. numpy-1.10.0.post2/numpy/linalg/tests/test_build.py +59 -0
  320. numpy-1.10.0.post2/numpy/linalg/tests/test_linalg.py +1351 -0
  321. numpy-1.10.0.post2/numpy/linalg/tests/test_regression.py +95 -0
  322. numpy-1.10.0.post2/numpy/linalg/umath_linalg.c.src +3236 -0
  323. numpy-1.10.0.post2/numpy/ma/__init__.py +56 -0
  324. numpy-1.10.0.post2/numpy/ma/bench.py +131 -0
  325. numpy-1.10.0.post2/numpy/ma/core.py +7608 -0
  326. numpy-1.10.0.post2/numpy/ma/extras.py +1953 -0
  327. numpy-1.10.0.post2/numpy/ma/mrecords.py +796 -0
  328. numpy-1.10.0.post2/numpy/ma/setup.py +13 -0
  329. numpy-1.10.0.post2/numpy/ma/tests/test_core.py +4100 -0
  330. numpy-1.10.0.post2/numpy/ma/tests/test_extras.py +1132 -0
  331. numpy-1.10.0.post2/numpy/ma/tests/test_mrecords.py +520 -0
  332. numpy-1.10.0.post2/numpy/ma/tests/test_old_ma.py +879 -0
  333. numpy-1.10.0.post2/numpy/ma/tests/test_regression.py +80 -0
  334. numpy-1.10.0.post2/numpy/ma/tests/test_subclassing.py +338 -0
  335. numpy-1.10.0.post2/numpy/ma/testutils.py +289 -0
  336. numpy-1.10.0.post2/numpy/ma/timer_comparison.py +440 -0
  337. numpy-1.10.0.post2/numpy/matlib.py +358 -0
  338. numpy-1.10.0.post2/numpy/matrixlib/defmatrix.py +1232 -0
  339. numpy-1.10.0.post2/numpy/matrixlib/tests/test_defmatrix.py +449 -0
  340. numpy-1.10.0.post2/numpy/matrixlib/tests/test_multiarray.py +23 -0
  341. numpy-1.10.0.post2/numpy/matrixlib/tests/test_numeric.py +23 -0
  342. numpy-1.10.0.post2/numpy/matrixlib/tests/test_regression.py +37 -0
  343. numpy-1.10.0.post2/numpy/polynomial/_polybase.py +962 -0
  344. numpy-1.10.0.post2/numpy/polynomial/chebyshev.py +2056 -0
  345. numpy-1.10.0.post2/numpy/polynomial/hermite.py +1831 -0
  346. numpy-1.10.0.post2/numpy/polynomial/hermite_e.py +1828 -0
  347. numpy-1.10.0.post2/numpy/polynomial/laguerre.py +1780 -0
  348. numpy-1.10.0.post2/numpy/polynomial/legendre.py +1808 -0
  349. numpy-1.10.0.post2/numpy/polynomial/polyutils.py +403 -0
  350. numpy-1.10.0.post2/numpy/random/mtrand/distributions.c +912 -0
  351. numpy-1.10.0.post2/numpy/random/mtrand/mtrand.c +34805 -0
  352. numpy-1.10.0.post2/numpy/random/mtrand/mtrand.pyx +4766 -0
  353. numpy-1.10.0.post2/numpy/random/setup.py +61 -0
  354. numpy-1.10.0.post2/numpy/random/tests/test_random.py +723 -0
  355. numpy-1.10.0.post2/numpy/random/tests/test_regression.py +117 -0
  356. numpy-1.10.0.post2/numpy/setup.py +29 -0
  357. numpy-1.10.0.post2/numpy/testing/__init__.py +15 -0
  358. numpy-1.10.0.post2/numpy/testing/decorators.py +271 -0
  359. numpy-1.10.0.post2/numpy/testing/noseclasses.py +353 -0
  360. numpy-1.10.0.post2/numpy/testing/nosetester.py +511 -0
  361. numpy-1.10.0.post2/numpy/testing/print_coercion_tables.py +91 -0
  362. numpy-1.10.0.post2/numpy/testing/setup.py +20 -0
  363. numpy-1.10.0.post2/numpy/testing/tests/test_decorators.py +182 -0
  364. numpy-1.10.0.post2/numpy/testing/tests/test_utils.py +781 -0
  365. numpy-1.10.0.post2/numpy/testing/utils.py +1831 -0
  366. numpy-1.10.0.post2/numpy/tests/test_ctypeslib.py +106 -0
  367. numpy-1.10.0.post2/numpy/tests/test_matlib.py +55 -0
  368. numpy-1.10.0.post2/numpy/tests/test_scripts.py +69 -0
  369. numpy-1.10.0.post2/numpy/version.py +10 -0
  370. numpy-1.10.0.post2/setup.py +260 -0
  371. numpy-1.10.0.post2/site.cfg.example +193 -0
  372. numpy-1.10.0.post2/tmp.txt +789 -0
  373. numpy-1.10.0.post2/tools/swig/README +145 -0
  374. numpy-1.10.0.post2/tools/swig/numpy.i +3161 -0
  375. numpy-1.10.0.post2/tools/swig/test/Array.i +135 -0
  376. numpy-1.10.0.post2/tools/swig/test/ArrayZ.cxx +131 -0
  377. numpy-1.10.0.post2/tools/swig/test/ArrayZ.h +56 -0
  378. numpy-1.10.0.post2/tools/swig/test/Flat.cxx +36 -0
  379. numpy-1.10.0.post2/tools/swig/test/Flat.h +34 -0
  380. numpy-1.10.0.post2/tools/swig/test/Flat.i +36 -0
  381. numpy-1.10.0.post2/tools/swig/test/Makefile +37 -0
  382. numpy-1.10.0.post2/tools/swig/test/setup.py +71 -0
  383. numpy-1.10.0.post2/tools/swig/test/testArray.py +385 -0
  384. numpy-1.10.0.post2/tools/swig/test/testFarray.py +159 -0
  385. numpy-1.10.0.post2/tools/swig/test/testFlat.py +200 -0
  386. numpy-1.10.0.post2/tools/swig/test/testFortran.py +173 -0
  387. numpy-1.10.0.post2/tools/swig/test/testMatrix.py +362 -0
  388. numpy-1.10.0.post2/tools/swig/test/testSuperTensor.py +388 -0
  389. numpy-1.10.0.post2/tools/swig/test/testTensor.py +402 -0
  390. numpy-1.10.0.post2/tools/swig/test/testVector.py +381 -0
  391. numpy-1.9.3/INSTALL.txt +0 -138
  392. numpy-1.9.3/LICENSE.txt +0 -30
  393. numpy-1.9.3/MANIFEST.in +0 -26
  394. numpy-1.9.3/PKG-INFO +0 -39
  395. numpy-1.9.3/doc/release/1.9.3-notes.rst +0 -23
  396. numpy-1.9.3/doc/source/conf.py +0 -331
  397. numpy-1.9.3/doc/source/dev/gitwash/branch_list.png +0 -0
  398. numpy-1.9.3/doc/source/dev/gitwash/branch_list_compare.png +0 -0
  399. numpy-1.9.3/doc/source/dev/gitwash/development_workflow.rst +0 -568
  400. numpy-1.9.3/doc/source/dev/gitwash/git_links.inc +0 -88
  401. numpy-1.9.3/doc/source/dev/gitwash/index.rst +0 -14
  402. numpy-1.9.3/doc/source/dev/index.rst +0 -10
  403. numpy-1.9.3/doc/source/reference/arrays.classes.rst +0 -427
  404. numpy-1.9.3/doc/source/reference/arrays.dtypes.rst +0 -534
  405. numpy-1.9.3/doc/source/reference/arrays.indexing.rst +0 -550
  406. numpy-1.9.3/doc/source/reference/arrays.interface.rst +0 -336
  407. numpy-1.9.3/doc/source/reference/arrays.ndarray.rst +0 -609
  408. numpy-1.9.3/doc/source/reference/arrays.scalars.rst +0 -291
  409. numpy-1.9.3/doc/source/reference/c-api.array.rst +0 -3362
  410. numpy-1.9.3/doc/source/reference/c-api.config.rst +0 -103
  411. numpy-1.9.3/doc/source/reference/c-api.coremath.rst +0 -420
  412. numpy-1.9.3/doc/source/reference/c-api.dtype.rst +0 -376
  413. numpy-1.9.3/doc/source/reference/c-api.generalized-ufuncs.rst +0 -171
  414. numpy-1.9.3/doc/source/reference/c-api.iterator.rst +0 -1298
  415. numpy-1.9.3/doc/source/reference/c-api.types-and-structures.rst +0 -1204
  416. numpy-1.9.3/doc/source/reference/c-api.ufunc.rst +0 -399
  417. numpy-1.9.3/doc/source/reference/index.rst +0 -44
  418. numpy-1.9.3/doc/source/reference/internals.code-explanations.rst +0 -666
  419. numpy-1.9.3/doc/source/reference/routines.array-manipulation.rst +0 -113
  420. numpy-1.9.3/doc/source/reference/routines.io.rst +0 -74
  421. numpy-1.9.3/doc/source/reference/routines.linalg.rst +0 -88
  422. numpy-1.9.3/doc/source/reference/routines.ma.rst +0 -405
  423. numpy-1.9.3/doc/source/reference/routines.sort.rst +0 -42
  424. numpy-1.9.3/doc/source/reference/routines.statistics.rst +0 -55
  425. numpy-1.9.3/doc/source/reference/swig.interface-file.rst +0 -1055
  426. numpy-1.9.3/doc/source/reference/swig.testing.rst +0 -166
  427. numpy-1.9.3/doc/source/reference/ufuncs.rst +0 -651
  428. numpy-1.9.3/doc/source/release.rst +0 -19
  429. numpy-1.9.3/doc/source/user/basics.io.genfromtxt.rst +0 -531
  430. numpy-1.9.3/doc/source/user/basics.rec.rst +0 -7
  431. numpy-1.9.3/doc/source/user/c-info.beyond-basics.rst +0 -560
  432. numpy-1.9.3/doc/source/user/c-info.how-to-extend.rst +0 -642
  433. numpy-1.9.3/doc/source/user/c-info.python-as-glue.rst +0 -1528
  434. numpy-1.9.3/doc/source/user/c-info.ufunc-tutorial.rst +0 -1211
  435. numpy-1.9.3/doc/source/user/install.rst +0 -180
  436. numpy-1.9.3/numpy/__init__.py +0 -216
  437. numpy-1.9.3/numpy/_import_tools.py +0 -348
  438. numpy-1.9.3/numpy/add_newdocs.py +0 -7518
  439. numpy-1.9.3/numpy/compat/_inspect.py +0 -221
  440. numpy-1.9.3/numpy/compat/py3k.py +0 -89
  441. numpy-1.9.3/numpy/compat/setup.py +0 -12
  442. numpy-1.9.3/numpy/core/__init__.py +0 -78
  443. numpy-1.9.3/numpy/core/_internal.py +0 -570
  444. numpy-1.9.3/numpy/core/_methods.py +0 -134
  445. numpy-1.9.3/numpy/core/arrayprint.py +0 -752
  446. numpy-1.9.3/numpy/core/blasdot/_dotblas.c +0 -1255
  447. numpy-1.9.3/numpy/core/blasdot/apple_sgemv_patch.c +0 -216
  448. numpy-1.9.3/numpy/core/blasdot/cblas.h +0 -578
  449. numpy-1.9.3/numpy/core/code_generators/cversions.txt +0 -31
  450. numpy-1.9.3/numpy/core/code_generators/generate_ufunc_api.py +0 -219
  451. numpy-1.9.3/numpy/core/code_generators/generate_umath.py +0 -972
  452. numpy-1.9.3/numpy/core/code_generators/numpy_api.py +0 -412
  453. numpy-1.9.3/numpy/core/code_generators/ufunc_docstrings.py +0 -3419
  454. numpy-1.9.3/numpy/core/defchararray.py +0 -2687
  455. numpy-1.9.3/numpy/core/fromnumeric.py +0 -2938
  456. numpy-1.9.3/numpy/core/function_base.py +0 -190
  457. numpy-1.9.3/numpy/core/getlimits.py +0 -306
  458. numpy-1.9.3/numpy/core/include/numpy/fenv/fenv.c +0 -38
  459. numpy-1.9.3/numpy/core/include/numpy/fenv/fenv.h +0 -224
  460. numpy-1.9.3/numpy/core/include/numpy/ndarrayobject.h +0 -237
  461. numpy-1.9.3/numpy/core/include/numpy/ndarraytypes.h +0 -1820
  462. numpy-1.9.3/numpy/core/include/numpy/npy_3kcompat.h +0 -506
  463. numpy-1.9.3/numpy/core/include/numpy/npy_common.h +0 -1038
  464. numpy-1.9.3/numpy/core/include/numpy/npy_cpu.h +0 -122
  465. numpy-1.9.3/numpy/core/include/numpy/npy_endian.h +0 -49
  466. numpy-1.9.3/numpy/core/include/numpy/npy_math.h +0 -479
  467. numpy-1.9.3/numpy/core/include/numpy/numpyconfig.h +0 -35
  468. numpy-1.9.3/numpy/core/machar.py +0 -338
  469. numpy-1.9.3/numpy/core/memmap.py +0 -308
  470. numpy-1.9.3/numpy/core/numeric.py +0 -2842
  471. numpy-1.9.3/numpy/core/numerictypes.py +0 -1042
  472. numpy-1.9.3/numpy/core/records.py +0 -804
  473. numpy-1.9.3/numpy/core/setup.py +0 -1016
  474. numpy-1.9.3/numpy/core/setup_common.py +0 -330
  475. numpy-1.9.3/numpy/core/shape_base.py +0 -277
  476. numpy-1.9.3/numpy/core/src/multiarray/alloc.c +0 -241
  477. numpy-1.9.3/numpy/core/src/multiarray/arrayobject.c +0 -1791
  478. numpy-1.9.3/numpy/core/src/multiarray/arraytypes.c.src +0 -4372
  479. numpy-1.9.3/numpy/core/src/multiarray/arraytypes.h +0 -13
  480. numpy-1.9.3/numpy/core/src/multiarray/buffer.c +0 -954
  481. numpy-1.9.3/numpy/core/src/multiarray/calculation.c +0 -1229
  482. numpy-1.9.3/numpy/core/src/multiarray/common.c +0 -798
  483. numpy-1.9.3/numpy/core/src/multiarray/common.h +0 -328
  484. numpy-1.9.3/numpy/core/src/multiarray/conversion_utils.c +0 -1240
  485. numpy-1.9.3/numpy/core/src/multiarray/convert.c +0 -589
  486. numpy-1.9.3/numpy/core/src/multiarray/convert_datatype.c +0 -2199
  487. numpy-1.9.3/numpy/core/src/multiarray/ctors.c +0 -3785
  488. numpy-1.9.3/numpy/core/src/multiarray/datetime.c +0 -3823
  489. numpy-1.9.3/numpy/core/src/multiarray/datetime_busday.c +0 -1322
  490. numpy-1.9.3/numpy/core/src/multiarray/datetime_busdaycal.c +0 -552
  491. numpy-1.9.3/numpy/core/src/multiarray/datetime_strings.c +0 -1772
  492. numpy-1.9.3/numpy/core/src/multiarray/descriptor.c +0 -3658
  493. numpy-1.9.3/numpy/core/src/multiarray/dtype_transfer.c +0 -4232
  494. numpy-1.9.3/numpy/core/src/multiarray/einsum.c.src +0 -3013
  495. numpy-1.9.3/numpy/core/src/multiarray/getset.c +0 -984
  496. numpy-1.9.3/numpy/core/src/multiarray/hashdescr.c +0 -319
  497. numpy-1.9.3/numpy/core/src/multiarray/item_selection.c +0 -2711
  498. numpy-1.9.3/numpy/core/src/multiarray/iterators.c +0 -2160
  499. numpy-1.9.3/numpy/core/src/multiarray/lowlevel_strided_loops.c.src +0 -1767
  500. numpy-1.9.3/numpy/core/src/multiarray/mapping.c +0 -3316
  501. numpy-1.9.3/numpy/core/src/multiarray/mapping.h +0 -73
  502. numpy-1.9.3/numpy/core/src/multiarray/methods.c +0 -2497
  503. numpy-1.9.3/numpy/core/src/multiarray/multiarray_tests.c.src +0 -977
  504. numpy-1.9.3/numpy/core/src/multiarray/multiarraymodule.c +0 -4200
  505. numpy-1.9.3/numpy/core/src/multiarray/multiarraymodule.h +0 -4
  506. numpy-1.9.3/numpy/core/src/multiarray/nditer_api.c +0 -2809
  507. numpy-1.9.3/numpy/core/src/multiarray/nditer_constr.c +0 -3159
  508. numpy-1.9.3/numpy/core/src/multiarray/nditer_pywrap.c +0 -2492
  509. numpy-1.9.3/numpy/core/src/multiarray/number.c +0 -1057
  510. numpy-1.9.3/numpy/core/src/multiarray/number.h +0 -76
  511. numpy-1.9.3/numpy/core/src/multiarray/numpymemoryview.c +0 -309
  512. numpy-1.9.3/numpy/core/src/multiarray/numpyos.c +0 -683
  513. numpy-1.9.3/numpy/core/src/multiarray/scalarapi.c +0 -861
  514. numpy-1.9.3/numpy/core/src/multiarray/scalartypes.c.src +0 -4270
  515. numpy-1.9.3/numpy/core/src/multiarray/scalartypes.h +0 -52
  516. numpy-1.9.3/numpy/core/src/multiarray/shape.c +0 -1141
  517. numpy-1.9.3/numpy/core/src/multiarray/ucsnarrow.c +0 -173
  518. numpy-1.9.3/numpy/core/src/npymath/ieee754.c.src +0 -814
  519. numpy-1.9.3/numpy/core/src/npymath/npy_math.c.src +0 -527
  520. numpy-1.9.3/numpy/core/src/npymath/npy_math_complex.c.src +0 -291
  521. numpy-1.9.3/numpy/core/src/npymath/npy_math_private.h +0 -539
  522. numpy-1.9.3/numpy/core/src/npysort/heapsort.c.src +0 -341
  523. numpy-1.9.3/numpy/core/src/npysort/mergesort.c.src +0 -428
  524. numpy-1.9.3/numpy/core/src/npysort/npysort_common.h +0 -367
  525. numpy-1.9.3/numpy/core/src/npysort/quicksort.c.src +0 -363
  526. numpy-1.9.3/numpy/core/src/npysort/selection.c.src +0 -474
  527. numpy-1.9.3/numpy/core/src/private/npy_config.h +0 -68
  528. numpy-1.9.3/numpy/core/src/private/npy_partition.h.src +0 -138
  529. numpy-1.9.3/numpy/core/src/private/npy_sort.h +0 -194
  530. numpy-1.9.3/numpy/core/src/private/scalarmathmodule.h.src +0 -42
  531. numpy-1.9.3/numpy/core/src/private/ufunc_override.h +0 -384
  532. numpy-1.9.3/numpy/core/src/scalarmathmodule.c.src +0 -1980
  533. numpy-1.9.3/numpy/core/src/umath/funcs.inc.src +0 -715
  534. numpy-1.9.3/numpy/core/src/umath/loops.c.src +0 -2654
  535. numpy-1.9.3/numpy/core/src/umath/loops.h.src +0 -501
  536. numpy-1.9.3/numpy/core/src/umath/operand_flag_tests.c.src +0 -105
  537. numpy-1.9.3/numpy/core/src/umath/simd.inc.src +0 -881
  538. numpy-1.9.3/numpy/core/src/umath/test_rational.c.src +0 -1404
  539. numpy-1.9.3/numpy/core/src/umath/ufunc_object.c +0 -5520
  540. numpy-1.9.3/numpy/core/src/umath/ufunc_type_resolution.c +0 -2164
  541. numpy-1.9.3/numpy/core/src/umath/umath_tests.c.src +0 -341
  542. numpy-1.9.3/numpy/core/src/umath/umathmodule.c +0 -561
  543. numpy-1.9.3/numpy/core/tests/test_abc.py +0 -45
  544. numpy-1.9.3/numpy/core/tests/test_api.py +0 -514
  545. numpy-1.9.3/numpy/core/tests/test_arrayprint.py +0 -167
  546. numpy-1.9.3/numpy/core/tests/test_blasdot.py +0 -249
  547. numpy-1.9.3/numpy/core/tests/test_datetime.py +0 -1781
  548. numpy-1.9.3/numpy/core/tests/test_defchararray.py +0 -642
  549. numpy-1.9.3/numpy/core/tests/test_deprecations.py +0 -512
  550. numpy-1.9.3/numpy/core/tests/test_dtype.py +0 -542
  551. numpy-1.9.3/numpy/core/tests/test_einsum.py +0 -583
  552. numpy-1.9.3/numpy/core/tests/test_errstate.py +0 -51
  553. numpy-1.9.3/numpy/core/tests/test_function_base.py +0 -111
  554. numpy-1.9.3/numpy/core/tests/test_getlimits.py +0 -86
  555. numpy-1.9.3/numpy/core/tests/test_half.py +0 -439
  556. numpy-1.9.3/numpy/core/tests/test_indexerrors.py +0 -127
  557. numpy-1.9.3/numpy/core/tests/test_indexing.py +0 -1014
  558. numpy-1.9.3/numpy/core/tests/test_item_selection.py +0 -70
  559. numpy-1.9.3/numpy/core/tests/test_machar.py +0 -30
  560. numpy-1.9.3/numpy/core/tests/test_memmap.py +0 -127
  561. numpy-1.9.3/numpy/core/tests/test_multiarray.py +0 -4645
  562. numpy-1.9.3/numpy/core/tests/test_multiarray_assignment.py +0 -80
  563. numpy-1.9.3/numpy/core/tests/test_nditer.py +0 -2630
  564. numpy-1.9.3/numpy/core/tests/test_numeric.py +0 -2117
  565. numpy-1.9.3/numpy/core/tests/test_numerictypes.py +0 -377
  566. numpy-1.9.3/numpy/core/tests/test_print.py +0 -245
  567. numpy-1.9.3/numpy/core/tests/test_records.py +0 -185
  568. numpy-1.9.3/numpy/core/tests/test_regression.py +0 -2115
  569. numpy-1.9.3/numpy/core/tests/test_scalarinherit.py +0 -34
  570. numpy-1.9.3/numpy/core/tests/test_scalarmath.py +0 -275
  571. numpy-1.9.3/numpy/core/tests/test_shape_base.py +0 -250
  572. numpy-1.9.3/numpy/core/tests/test_ufunc.py +0 -1153
  573. numpy-1.9.3/numpy/core/tests/test_umath.py +0 -1695
  574. numpy-1.9.3/numpy/core/tests/test_umath_complex.py +0 -537
  575. numpy-1.9.3/numpy/core/tests/test_unicode.py +0 -357
  576. numpy-1.9.3/numpy/distutils/__init__.py +0 -39
  577. numpy-1.9.3/numpy/distutils/ccompiler.py +0 -656
  578. numpy-1.9.3/numpy/distutils/command/autodist.py +0 -43
  579. numpy-1.9.3/numpy/distutils/command/build.py +0 -39
  580. numpy-1.9.3/numpy/distutils/command/build_clib.py +0 -284
  581. numpy-1.9.3/numpy/distutils/command/build_ext.py +0 -515
  582. numpy-1.9.3/numpy/distutils/command/config.py +0 -476
  583. numpy-1.9.3/numpy/distutils/exec_command.py +0 -618
  584. numpy-1.9.3/numpy/distutils/fcompiler/compaq.py +0 -128
  585. numpy-1.9.3/numpy/distutils/fcompiler/gnu.py +0 -390
  586. numpy-1.9.3/numpy/distutils/fcompiler/intel.py +0 -205
  587. numpy-1.9.3/numpy/distutils/fcompiler/pg.py +0 -60
  588. numpy-1.9.3/numpy/distutils/fcompiler/sun.py +0 -52
  589. numpy-1.9.3/numpy/distutils/intelccompiler.py +0 -45
  590. numpy-1.9.3/numpy/distutils/lib2def.py +0 -116
  591. numpy-1.9.3/numpy/distutils/mingw32ccompiler.py +0 -582
  592. numpy-1.9.3/numpy/distutils/misc_util.py +0 -2271
  593. numpy-1.9.3/numpy/distutils/npy_pkg_config.py +0 -464
  594. numpy-1.9.3/numpy/distutils/system_info.py +0 -2319
  595. numpy-1.9.3/numpy/distutils/tests/f2py_ext/tests/test_fib2.py +0 -13
  596. numpy-1.9.3/numpy/distutils/tests/f2py_f90_ext/tests/test_foo.py +0 -12
  597. numpy-1.9.3/numpy/distutils/tests/gen_ext/tests/test_fib3.py +0 -12
  598. numpy-1.9.3/numpy/distutils/tests/pyrex_ext/tests/test_primes.py +0 -14
  599. numpy-1.9.3/numpy/distutils/tests/swig_ext/tests/test_example.py +0 -18
  600. numpy-1.9.3/numpy/distutils/tests/swig_ext/tests/test_example2.py +0 -16
  601. numpy-1.9.3/numpy/distutils/tests/test_fcompiler_gnu.py +0 -53
  602. numpy-1.9.3/numpy/distutils/tests/test_fcompiler_intel.py +0 -36
  603. numpy-1.9.3/numpy/distutils/tests/test_misc_util.py +0 -75
  604. numpy-1.9.3/numpy/distutils/tests/test_npy_pkg_config.py +0 -98
  605. numpy-1.9.3/numpy/distutils/unixccompiler.py +0 -113
  606. numpy-1.9.3/numpy/doc/byteswapping.py +0 -147
  607. numpy-1.9.3/numpy/doc/creation.py +0 -144
  608. numpy-1.9.3/numpy/doc/glossary.py +0 -418
  609. numpy-1.9.3/numpy/doc/indexing.py +0 -437
  610. numpy-1.9.3/numpy/doc/structured_arrays.py +0 -223
  611. numpy-1.9.3/numpy/f2py/__init__.py +0 -49
  612. numpy-1.9.3/numpy/f2py/auxfuncs.py +0 -711
  613. numpy-1.9.3/numpy/f2py/capi_maps.py +0 -773
  614. numpy-1.9.3/numpy/f2py/cb_rules.py +0 -539
  615. numpy-1.9.3/numpy/f2py/cfuncs.py +0 -1224
  616. numpy-1.9.3/numpy/f2py/common_rules.py +0 -132
  617. numpy-1.9.3/numpy/f2py/crackfortran.py +0 -2870
  618. numpy-1.9.3/numpy/f2py/diagnose.py +0 -149
  619. numpy-1.9.3/numpy/f2py/f2py2e.py +0 -598
  620. numpy-1.9.3/numpy/f2py/f2py_testing.py +0 -46
  621. numpy-1.9.3/numpy/f2py/f90mod_rules.py +0 -246
  622. numpy-1.9.3/numpy/f2py/func2subr.py +0 -291
  623. numpy-1.9.3/numpy/f2py/rules.py +0 -1448
  624. numpy-1.9.3/numpy/f2py/setup.py +0 -129
  625. numpy-1.9.3/numpy/f2py/src/fortranobject.c +0 -972
  626. numpy-1.9.3/numpy/f2py/src/fortranobject.h +0 -162
  627. numpy-1.9.3/numpy/f2py/tests/src/array_from_pyobj/wrapmodule.c +0 -223
  628. numpy-1.9.3/numpy/f2py/tests/test_array_from_pyobj.py +0 -559
  629. numpy-1.9.3/numpy/f2py/tests/test_assumed_shape.py +0 -37
  630. numpy-1.9.3/numpy/f2py/tests/test_callback.py +0 -132
  631. numpy-1.9.3/numpy/f2py/tests/test_kind.py +0 -36
  632. numpy-1.9.3/numpy/f2py/tests/test_mixed.py +0 -41
  633. numpy-1.9.3/numpy/f2py/tests/test_regression.py +0 -32
  634. numpy-1.9.3/numpy/f2py/tests/test_return_character.py +0 -142
  635. numpy-1.9.3/numpy/f2py/tests/test_return_complex.py +0 -169
  636. numpy-1.9.3/numpy/f2py/tests/test_return_integer.py +0 -178
  637. numpy-1.9.3/numpy/f2py/tests/test_return_logical.py +0 -187
  638. numpy-1.9.3/numpy/f2py/tests/test_return_real.py +0 -203
  639. numpy-1.9.3/numpy/f2py/tests/test_size.py +0 -47
  640. numpy-1.9.3/numpy/f2py/tests/util.py +0 -353
  641. numpy-1.9.3/numpy/f2py/use_rules.py +0 -109
  642. numpy-1.9.3/numpy/fft/fftpack.c +0 -1501
  643. numpy-1.9.3/numpy/fft/fftpack.h +0 -28
  644. numpy-1.9.3/numpy/fft/fftpack.py +0 -1169
  645. numpy-1.9.3/numpy/fft/fftpack_litemodule.c +0 -371
  646. numpy-1.9.3/numpy/fft/info.py +0 -179
  647. numpy-1.9.3/numpy/fft/setup.py +0 -20
  648. numpy-1.9.3/numpy/fft/tests/test_fftpack.py +0 -75
  649. numpy-1.9.3/numpy/fft/tests/test_helper.py +0 -78
  650. numpy-1.9.3/numpy/lib/_iotools.py +0 -891
  651. numpy-1.9.3/numpy/lib/arraypad.py +0 -1475
  652. numpy-1.9.3/numpy/lib/arraysetops.py +0 -464
  653. numpy-1.9.3/numpy/lib/arrayterator.py +0 -226
  654. numpy-1.9.3/numpy/lib/financial.py +0 -737
  655. numpy-1.9.3/numpy/lib/format.py +0 -771
  656. numpy-1.9.3/numpy/lib/function_base.py +0 -3884
  657. numpy-1.9.3/numpy/lib/index_tricks.py +0 -869
  658. numpy-1.9.3/numpy/lib/info.py +0 -151
  659. numpy-1.9.3/numpy/lib/nanfunctions.py +0 -1158
  660. numpy-1.9.3/numpy/lib/npyio.py +0 -1871
  661. numpy-1.9.3/numpy/lib/polynomial.py +0 -1271
  662. numpy-1.9.3/numpy/lib/recfunctions.py +0 -1003
  663. numpy-1.9.3/numpy/lib/setup.py +0 -23
  664. numpy-1.9.3/numpy/lib/shape_base.py +0 -865
  665. numpy-1.9.3/numpy/lib/src/_compiled_base.c +0 -1761
  666. numpy-1.9.3/numpy/lib/stride_tricks.py +0 -123
  667. numpy-1.9.3/numpy/lib/tests/test__iotools.py +0 -326
  668. numpy-1.9.3/numpy/lib/tests/test__version.py +0 -57
  669. numpy-1.9.3/numpy/lib/tests/test_arraypad.py +0 -560
  670. numpy-1.9.3/numpy/lib/tests/test_arraysetops.py +0 -301
  671. numpy-1.9.3/numpy/lib/tests/test_financial.py +0 -160
  672. numpy-1.9.3/numpy/lib/tests/test_format.py +0 -716
  673. numpy-1.9.3/numpy/lib/tests/test_function_base.py +0 -2145
  674. numpy-1.9.3/numpy/lib/tests/test_index_tricks.py +0 -289
  675. numpy-1.9.3/numpy/lib/tests/test_io.py +0 -1754
  676. numpy-1.9.3/numpy/lib/tests/test_nanfunctions.py +0 -774
  677. numpy-1.9.3/numpy/lib/tests/test_polynomial.py +0 -177
  678. numpy-1.9.3/numpy/lib/tests/test_recfunctions.py +0 -705
  679. numpy-1.9.3/numpy/lib/tests/test_shape_base.py +0 -368
  680. numpy-1.9.3/numpy/lib/tests/test_stride_tricks.py +0 -238
  681. numpy-1.9.3/numpy/lib/tests/test_twodim_base.py +0 -504
  682. numpy-1.9.3/numpy/lib/tests/test_type_check.py +0 -328
  683. numpy-1.9.3/numpy/lib/twodim_base.py +0 -1003
  684. numpy-1.9.3/numpy/lib/type_check.py +0 -605
  685. numpy-1.9.3/numpy/lib/utils.py +0 -1176
  686. numpy-1.9.3/numpy/linalg/lapack_lite/python_xerbla.c +0 -47
  687. numpy-1.9.3/numpy/linalg/lapack_litemodule.c +0 -362
  688. numpy-1.9.3/numpy/linalg/linalg.py +0 -2136
  689. numpy-1.9.3/numpy/linalg/tests/test_build.py +0 -53
  690. numpy-1.9.3/numpy/linalg/tests/test_linalg.py +0 -1156
  691. numpy-1.9.3/numpy/linalg/tests/test_regression.py +0 -90
  692. numpy-1.9.3/numpy/linalg/umath_linalg.c.src +0 -3210
  693. numpy-1.9.3/numpy/ma/__init__.py +0 -58
  694. numpy-1.9.3/numpy/ma/bench.py +0 -166
  695. numpy-1.9.3/numpy/ma/core.py +0 -7374
  696. numpy-1.9.3/numpy/ma/extras.py +0 -1932
  697. numpy-1.9.3/numpy/ma/mrecords.py +0 -734
  698. numpy-1.9.3/numpy/ma/setup.py +0 -20
  699. numpy-1.9.3/numpy/ma/tests/test_core.py +0 -3706
  700. numpy-1.9.3/numpy/ma/tests/test_extras.py +0 -954
  701. numpy-1.9.3/numpy/ma/tests/test_mrecords.py +0 -521
  702. numpy-1.9.3/numpy/ma/tests/test_old_ma.py +0 -869
  703. numpy-1.9.3/numpy/ma/tests/test_regression.py +0 -75
  704. numpy-1.9.3/numpy/ma/tests/test_subclassing.py +0 -236
  705. numpy-1.9.3/numpy/ma/testutils.py +0 -240
  706. numpy-1.9.3/numpy/ma/timer_comparison.py +0 -459
  707. numpy-1.9.3/numpy/matlib.py +0 -358
  708. numpy-1.9.3/numpy/matrixlib/defmatrix.py +0 -1094
  709. numpy-1.9.3/numpy/matrixlib/tests/test_defmatrix.py +0 -400
  710. numpy-1.9.3/numpy/matrixlib/tests/test_multiarray.py +0 -18
  711. numpy-1.9.3/numpy/matrixlib/tests/test_numeric.py +0 -10
  712. numpy-1.9.3/numpy/matrixlib/tests/test_regression.py +0 -34
  713. numpy-1.9.3/numpy/polynomial/_polybase.py +0 -962
  714. numpy-1.9.3/numpy/polynomial/chebyshev.py +0 -2056
  715. numpy-1.9.3/numpy/polynomial/hermite.py +0 -1789
  716. numpy-1.9.3/numpy/polynomial/hermite_e.py +0 -1786
  717. numpy-1.9.3/numpy/polynomial/laguerre.py +0 -1781
  718. numpy-1.9.3/numpy/polynomial/legendre.py +0 -1809
  719. numpy-1.9.3/numpy/polynomial/polytemplate.py +0 -927
  720. numpy-1.9.3/numpy/polynomial/polyutils.py +0 -403
  721. numpy-1.9.3/numpy/random/mtrand/distributions.c +0 -892
  722. numpy-1.9.3/numpy/random/mtrand/mtrand.c +0 -36656
  723. numpy-1.9.3/numpy/random/mtrand/mtrand.pyx +0 -4706
  724. numpy-1.9.3/numpy/random/setup.py +0 -74
  725. numpy-1.9.3/numpy/random/tests/test_random.py +0 -707
  726. numpy-1.9.3/numpy/random/tests/test_regression.py +0 -86
  727. numpy-1.9.3/numpy/setup.py +0 -27
  728. numpy-1.9.3/numpy/testing/__init__.py +0 -16
  729. numpy-1.9.3/numpy/testing/decorators.py +0 -271
  730. numpy-1.9.3/numpy/testing/noseclasses.py +0 -353
  731. numpy-1.9.3/numpy/testing/nosetester.py +0 -504
  732. numpy-1.9.3/numpy/testing/print_coercion_tables.py +0 -89
  733. numpy-1.9.3/numpy/testing/setup.py +0 -20
  734. numpy-1.9.3/numpy/testing/tests/test_decorators.py +0 -185
  735. numpy-1.9.3/numpy/testing/tests/test_utils.py +0 -558
  736. numpy-1.9.3/numpy/testing/utils.py +0 -1715
  737. numpy-1.9.3/numpy/tests/test_ctypeslib.py +0 -102
  738. numpy-1.9.3/numpy/tests/test_matlib.py +0 -55
  739. numpy-1.9.3/numpy/version.py +0 -10
  740. numpy-1.9.3/setup.py +0 -251
  741. numpy-1.9.3/site.cfg.example +0 -157
  742. numpy-1.9.3/tools/swig/README +0 -135
  743. numpy-1.9.3/tools/swig/numpy.i +0 -3085
  744. numpy-1.9.3/tools/swig/test/Array.i +0 -102
  745. numpy-1.9.3/tools/swig/test/Makefile +0 -34
  746. numpy-1.9.3/tools/swig/test/setup.py +0 -64
  747. numpy-1.9.3/tools/swig/test/testArray.py +0 -284
  748. numpy-1.9.3/tools/swig/test/testFarray.py +0 -159
  749. numpy-1.9.3/tools/swig/test/testFortran.py +0 -173
  750. numpy-1.9.3/tools/swig/test/testMatrix.py +0 -362
  751. numpy-1.9.3/tools/swig/test/testSuperTensor.py +0 -388
  752. numpy-1.9.3/tools/swig/test/testTensor.py +0 -402
  753. numpy-1.9.3/tools/swig/test/testVector.py +0 -381
  754. {numpy-1.9.3 → numpy-1.10.0.post2}/BENTO_BUILD.txt +0 -0
  755. {numpy-1.9.3 → numpy-1.10.0.post2}/COMPATIBILITY +0 -0
  756. {numpy-1.9.3 → numpy-1.10.0.post2}/DEV_README.txt +0 -0
  757. {numpy-1.9.3 → numpy-1.10.0.post2}/README.txt +0 -0
  758. {numpy-1.9.3 → numpy-1.10.0.post2}/THANKS.txt +0 -0
  759. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/Makefile +0 -0
  760. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/BUGS.txt +0 -0
  761. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/FAQ.txt +0 -0
  762. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/HISTORY.txt +0 -0
  763. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/Makefile +0 -0
  764. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/OLDNEWS.txt +0 -0
  765. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/README.txt +0 -0
  766. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/Release-1.x.txt +0 -0
  767. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/Release-2.x.txt +0 -0
  768. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/Release-3.x.txt +0 -0
  769. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/Release-4.x.txt +0 -0
  770. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/TESTING.txt +0 -0
  771. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/THANKS.txt +0 -0
  772. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/TODO.txt +0 -0
  773. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/apps.tex +0 -0
  774. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/bugs.tex +0 -0
  775. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/collectinput.py +0 -0
  776. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/commands.tex +0 -0
  777. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/default.css +0 -0
  778. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/docutils.conf +0 -0
  779. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/ex1/arr.f +0 -0
  780. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/ex1/bar.f +0 -0
  781. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/ex1/foo.f +0 -0
  782. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/ex1/foobar-smart.f90 +0 -0
  783. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/ex1/foobar.f90 +0 -0
  784. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/ex1/foobarmodule.tex +0 -0
  785. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/ex1/runme +0 -0
  786. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/f2py.1 +0 -0
  787. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/f2py2e.tex +0 -0
  788. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/README.txt +0 -0
  789. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/aerostructure.jpg +0 -0
  790. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/flow.jpg +0 -0
  791. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/mk_html.sh +0 -0
  792. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/mk_pdf.sh +0 -0
  793. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/mk_ps.sh +0 -0
  794. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/exp1.f +0 -0
  795. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/exp1mess.txt +0 -0
  796. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/exp1session.txt +0 -0
  797. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/foo.pyf +0 -0
  798. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/src/examples/foom.pyf +0 -0
  799. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/f2python9-final/structure.jpg +0 -0
  800. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/fortranobject.tex +0 -0
  801. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/hello.f +0 -0
  802. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/index.html +0 -0
  803. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/intro.tex +0 -0
  804. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/multiarray/array_from_pyobj.c +0 -0
  805. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/multiarray/bar.c +0 -0
  806. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/multiarray/foo.f +0 -0
  807. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/multiarray/fortran_array_from_pyobj.txt +0 -0
  808. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/multiarray/fun.pyf +0 -0
  809. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/multiarray/run.pyf +0 -0
  810. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/multiarray/transpose.txt +0 -0
  811. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/multiarrays.txt +0 -0
  812. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/notes.tex +0 -0
  813. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/oldnews.html +0 -0
  814. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/options.tex +0 -0
  815. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/pyforttest.pyf +0 -0
  816. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/pytest.py +0 -0
  817. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/python9.tex +0 -0
  818. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/signaturefile.tex +0 -0
  819. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/simple.f +0 -0
  820. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/simple_session.dat +0 -0
  821. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/using_F_compiler.txt +0 -0
  822. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/f2py/win32_notes.txt +0 -0
  823. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/postprocess.py +0 -0
  824. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/release/1.3.0-notes.rst +0 -0
  825. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/release/1.4.0-notes.rst +0 -0
  826. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/release/1.5.0-notes.rst +0 -0
  827. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/release/1.6.0-notes.rst +0 -0
  828. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/release/1.6.1-notes.rst +0 -0
  829. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/release/1.6.2-notes.rst +0 -0
  830. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/release/1.7.0-notes.rst +0 -0
  831. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/release/1.7.1-notes.rst +0 -0
  832. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/release/1.7.2-notes.rst +0 -0
  833. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/release/1.8.0-notes.rst +0 -0
  834. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/release/1.8.1-notes.rst +0 -0
  835. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/release/1.8.2-notes.rst +0 -0
  836. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/release/1.9.0-notes.rst +0 -0
  837. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/release/1.9.1-notes.rst +0 -0
  838. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/release/1.9.2-notes.rst +0 -0
  839. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/release/time_based_proposal.rst +0 -0
  840. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/.git +0 -0
  841. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/.gitignore +0 -0
  842. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/Makefile +0 -0
  843. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/README.rst +0 -0
  844. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_static/scipyshiny_small.png +0 -0
  845. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/layout.html +0 -0
  846. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/searchbox.html +0 -0
  847. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/sourcelink.html +0 -0
  848. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/extend.css +0 -0
  849. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/pygments.css +0 -0
  850. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/scipy-central.css +0 -0
  851. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/spc-bootstrap.css +0 -0
  852. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/css/spc-extend.css +0 -0
  853. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/all-icons.svg +0 -0
  854. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/contents.png +0 -0
  855. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/create-new-account-icon.png +0 -0
  856. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-icon-shrunk.png +0 -0
  857. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-icon.png +0 -0
  858. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-icon.svg +0 -0
  859. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-list-icon-tiniest.png +0 -0
  860. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-list-icon-tiny.png +0 -0
  861. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/external-link-list-icon.png +0 -0
  862. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ad.png +0 -0
  863. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ae.png +0 -0
  864. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-af.png +0 -0
  865. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ag.png +0 -0
  866. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ai.png +0 -0
  867. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-al.png +0 -0
  868. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-am.png +0 -0
  869. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ao.png +0 -0
  870. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-aq.png +0 -0
  871. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ar.png +0 -0
  872. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-as.png +0 -0
  873. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-at.png +0 -0
  874. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-au.png +0 -0
  875. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-aw.png +0 -0
  876. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-az.png +0 -0
  877. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ba.png +0 -0
  878. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bb.png +0 -0
  879. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bd.png +0 -0
  880. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-be.png +0 -0
  881. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bf.png +0 -0
  882. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bg.png +0 -0
  883. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bh.png +0 -0
  884. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bi.png +0 -0
  885. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bj.png +0 -0
  886. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bl.png +0 -0
  887. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bm.png +0 -0
  888. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bn.png +0 -0
  889. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bo.png +0 -0
  890. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-br.png +0 -0
  891. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bs.png +0 -0
  892. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bt.png +0 -0
  893. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bw.png +0 -0
  894. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-by.png +0 -0
  895. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-bz.png +0 -0
  896. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ca.png +0 -0
  897. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cc.png +0 -0
  898. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cd.png +0 -0
  899. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cf.png +0 -0
  900. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cg.png +0 -0
  901. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ch.png +0 -0
  902. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ci.png +0 -0
  903. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ck.png +0 -0
  904. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cl.png +0 -0
  905. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cm.png +0 -0
  906. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cn.png +0 -0
  907. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-co.png +0 -0
  908. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cr.png +0 -0
  909. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cu.png +0 -0
  910. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cv.png +0 -0
  911. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cw.png +0 -0
  912. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cx.png +0 -0
  913. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cy.png +0 -0
  914. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-cz.png +0 -0
  915. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-de.png +0 -0
  916. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dj.png +0 -0
  917. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dk.png +0 -0
  918. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dm.png +0 -0
  919. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-do.png +0 -0
  920. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-dz.png +0 -0
  921. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ec.png +0 -0
  922. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ee.png +0 -0
  923. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-eg.png +0 -0
  924. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-er.png +0 -0
  925. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-es.png +0 -0
  926. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-et.png +0 -0
  927. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fi.png +0 -0
  928. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fj.png +0 -0
  929. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fk.png +0 -0
  930. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fm.png +0 -0
  931. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fo.png +0 -0
  932. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-fr.png +0 -0
  933. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ga.png +0 -0
  934. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gb.png +0 -0
  935. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gd.png +0 -0
  936. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ge.png +0 -0
  937. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gf.png +0 -0
  938. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gg.png +0 -0
  939. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gh.png +0 -0
  940. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gi.png +0 -0
  941. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gl.png +0 -0
  942. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gm.png +0 -0
  943. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gn.png +0 -0
  944. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gq.png +0 -0
  945. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gr.png +0 -0
  946. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gs.png +0 -0
  947. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gt.png +0 -0
  948. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gu.png +0 -0
  949. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gw.png +0 -0
  950. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-gy.png +0 -0
  951. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hk.png +0 -0
  952. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hm.png +0 -0
  953. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hn.png +0 -0
  954. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hr.png +0 -0
  955. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ht.png +0 -0
  956. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-hu.png +0 -0
  957. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-id.png +0 -0
  958. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ie.png +0 -0
  959. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-il.png +0 -0
  960. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-im.png +0 -0
  961. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-in.png +0 -0
  962. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-io.png +0 -0
  963. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-iq.png +0 -0
  964. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ir.png +0 -0
  965. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-is.png +0 -0
  966. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-it.png +0 -0
  967. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-je.png +0 -0
  968. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-jm.png +0 -0
  969. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-jo.png +0 -0
  970. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-jp.png +0 -0
  971. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ke.png +0 -0
  972. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kg.png +0 -0
  973. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kh.png +0 -0
  974. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ki.png +0 -0
  975. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-km.png +0 -0
  976. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kn.png +0 -0
  977. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kp.png +0 -0
  978. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kr.png +0 -0
  979. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kw.png +0 -0
  980. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ky.png +0 -0
  981. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-kz.png +0 -0
  982. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-la.png +0 -0
  983. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lb.png +0 -0
  984. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lc.png +0 -0
  985. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-li.png +0 -0
  986. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lk.png +0 -0
  987. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lr.png +0 -0
  988. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ls.png +0 -0
  989. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lt.png +0 -0
  990. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lu.png +0 -0
  991. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-lv.png +0 -0
  992. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ly.png +0 -0
  993. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ma.png +0 -0
  994. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mc.png +0 -0
  995. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-md.png +0 -0
  996. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-me.png +0 -0
  997. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mf.png +0 -0
  998. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mg.png +0 -0
  999. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mh.png +0 -0
  1000. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mk.png +0 -0
  1001. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ml.png +0 -0
  1002. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mm.png +0 -0
  1003. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mn.png +0 -0
  1004. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mo.png +0 -0
  1005. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mp.png +0 -0
  1006. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mq.png +0 -0
  1007. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mr.png +0 -0
  1008. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ms.png +0 -0
  1009. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mt.png +0 -0
  1010. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mu.png +0 -0
  1011. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mv.png +0 -0
  1012. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mw.png +0 -0
  1013. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mx.png +0 -0
  1014. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-my.png +0 -0
  1015. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-mz.png +0 -0
  1016. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-na.png +0 -0
  1017. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nc.png +0 -0
  1018. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ne.png +0 -0
  1019. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nf.png +0 -0
  1020. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ng.png +0 -0
  1021. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ni.png +0 -0
  1022. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nl.png +0 -0
  1023. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-no.png +0 -0
  1024. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-np.png +0 -0
  1025. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nr.png +0 -0
  1026. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nu.png +0 -0
  1027. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-nz.png +0 -0
  1028. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-om.png +0 -0
  1029. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pa.png +0 -0
  1030. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pe.png +0 -0
  1031. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pf.png +0 -0
  1032. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pg.png +0 -0
  1033. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ph.png +0 -0
  1034. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pk.png +0 -0
  1035. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pl.png +0 -0
  1036. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pm.png +0 -0
  1037. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pn.png +0 -0
  1038. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pr.png +0 -0
  1039. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ps.png +0 -0
  1040. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pt.png +0 -0
  1041. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-pw.png +0 -0
  1042. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-py.png +0 -0
  1043. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-qa.png +0 -0
  1044. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-re.png +0 -0
  1045. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ro.png +0 -0
  1046. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-rs.png +0 -0
  1047. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ru.png +0 -0
  1048. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-rw.png +0 -0
  1049. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sa.png +0 -0
  1050. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sb.png +0 -0
  1051. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sc.png +0 -0
  1052. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sd.png +0 -0
  1053. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-se.png +0 -0
  1054. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sg.png +0 -0
  1055. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sh.png +0 -0
  1056. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-si.png +0 -0
  1057. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sj.png +0 -0
  1058. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sk.png +0 -0
  1059. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sl.png +0 -0
  1060. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sm.png +0 -0
  1061. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sn.png +0 -0
  1062. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-so.png +0 -0
  1063. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sr.png +0 -0
  1064. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-st.png +0 -0
  1065. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sv.png +0 -0
  1066. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sy.png +0 -0
  1067. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-sz.png +0 -0
  1068. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tc.png +0 -0
  1069. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-td.png +0 -0
  1070. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tf.png +0 -0
  1071. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tg.png +0 -0
  1072. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-th.png +0 -0
  1073. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tj.png +0 -0
  1074. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tk.png +0 -0
  1075. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tl.png +0 -0
  1076. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tm.png +0 -0
  1077. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tn.png +0 -0
  1078. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-to.png +0 -0
  1079. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tr.png +0 -0
  1080. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tt.png +0 -0
  1081. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tv.png +0 -0
  1082. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tw.png +0 -0
  1083. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-tz.png +0 -0
  1084. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ua.png +0 -0
  1085. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ug.png +0 -0
  1086. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-um.png +0 -0
  1087. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-us.png +0 -0
  1088. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-uy.png +0 -0
  1089. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-uz.png +0 -0
  1090. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-va.png +0 -0
  1091. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vc.png +0 -0
  1092. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ve.png +0 -0
  1093. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vg.png +0 -0
  1094. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vi.png +0 -0
  1095. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vn.png +0 -0
  1096. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-vu.png +0 -0
  1097. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-wf.png +0 -0
  1098. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ws.png +0 -0
  1099. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-ye.png +0 -0
  1100. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-za.png +0 -0
  1101. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-zm.png +0 -0
  1102. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/flags/flag-zw.png +0 -0
  1103. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/glyphicons-halflings-white.png +0 -0
  1104. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/glyphicons-halflings.png +0 -0
  1105. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/important-icon.png +0 -0
  1106. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/information-icon.png +0 -0
  1107. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/internet-web-browser.png +0 -0
  1108. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-icon-shrunk.png +0 -0
  1109. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-icon.png +0 -0
  1110. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-icon.svg +0 -0
  1111. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-list-icon-tiny.png +0 -0
  1112. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/multiple-file-list-icon.png +0 -0
  1113. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/navigation.png +0 -0
  1114. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/person-list-icon-tiny.png +0 -0
  1115. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/person-list-icon.png +0 -0
  1116. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipy-logo.png +0 -0
  1117. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipy_org_logo.gif +0 -0
  1118. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipycentral_logo.png +0 -0
  1119. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/scipyshiny_small.png +0 -0
  1120. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/send-email-icon.png +0 -0
  1121. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-icon-shrunk.png +0 -0
  1122. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-icon.png +0 -0
  1123. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-icon.svg +0 -0
  1124. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-list-icon-tiniest.png +0 -0
  1125. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-list-icon-tiny.png +0 -0
  1126. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/single-file-list-icon.png +0 -0
  1127. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/transparent-pixel.gif +0 -0
  1128. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/img/ui-anim_basic_16x16.gif +0 -0
  1129. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/js/copybutton.js +0 -0
  1130. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/accordion.less +0 -0
  1131. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/alerts.less +0 -0
  1132. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/bootstrap.less +0 -0
  1133. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/breadcrumbs.less +0 -0
  1134. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/button-groups.less +0 -0
  1135. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/buttons.less +0 -0
  1136. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/carousel.less +0 -0
  1137. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/close.less +0 -0
  1138. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/code.less +0 -0
  1139. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/component-animations.less +0 -0
  1140. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/dropdowns.less +0 -0
  1141. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/forms.less +0 -0
  1142. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/grid.less +0 -0
  1143. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/hero-unit.less +0 -0
  1144. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/labels-badges.less +0 -0
  1145. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/layouts.less +0 -0
  1146. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/media.less +0 -0
  1147. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/mixins.less +0 -0
  1148. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/modals.less +0 -0
  1149. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/navbar.less +0 -0
  1150. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/navs.less +0 -0
  1151. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/pager.less +0 -0
  1152. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/pagination.less +0 -0
  1153. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/popovers.less +0 -0
  1154. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/progress-bars.less +0 -0
  1155. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/reset.less +0 -0
  1156. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-1200px-min.less +0 -0
  1157. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-767px-max.less +0 -0
  1158. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-768px-979px.less +0 -0
  1159. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-navbar.less +0 -0
  1160. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive-utilities.less +0 -0
  1161. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/responsive.less +0 -0
  1162. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/scaffolding.less +0 -0
  1163. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/sprites.less +0 -0
  1164. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/tables.less +0 -0
  1165. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/thumbnails.less +0 -0
  1166. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/tooltip.less +0 -0
  1167. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/type.less +0 -0
  1168. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/utilities.less +0 -0
  1169. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/variables.less +0 -0
  1170. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/bootstrap/wells.less +0 -0
  1171. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-bootstrap.less +0 -0
  1172. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-content.less +0 -0
  1173. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-extend.less +0 -0
  1174. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-footer.less +0 -0
  1175. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-header.less +0 -0
  1176. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-rightsidebar.less +0 -0
  1177. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/less/spc-utils.less +0 -0
  1178. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/static/scipy.css_t +0 -0
  1179. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/_theme/scipy/theme.conf +0 -0
  1180. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/conf.py +0 -0
  1181. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/index.rst +0 -0
  1182. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc.rst +0 -0
  1183. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc_2.rst +0 -0
  1184. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc_3.rst +0 -0
  1185. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_autodoc_4.rst +0 -0
  1186. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/scipy-sphinx-theme/test_optimize.rst +0 -0
  1187. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/_templates/autosummary/class.rst +0 -0
  1188. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/_templates/indexcontent.html +0 -0
  1189. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/_templates/indexsidebar.html +0 -0
  1190. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/_templates/layout.html +0 -0
  1191. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/about.rst +0 -0
  1192. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/bugs.rst +0 -0
  1193. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/contents.rst +0 -0
  1194. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/dev/gitwash/configure_git.rst +0 -0
  1195. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/dev/gitwash/development_setup.rst +0 -0
  1196. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/dev/gitwash/dot2_dot3.rst +0 -0
  1197. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/dev/gitwash/following_latest.rst +0 -0
  1198. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/dev/gitwash/forking_button.png +0 -0
  1199. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/dev/gitwash/git_development.rst +0 -0
  1200. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/dev/gitwash/git_intro.rst +0 -0
  1201. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/dev/gitwash/git_resources.rst +0 -0
  1202. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/dev/gitwash/pull_button.png +0 -0
  1203. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/dev/gitwash_links.txt +0 -0
  1204. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/advanced.rst +0 -0
  1205. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/allocarr.f90 +0 -0
  1206. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/allocarr_session.dat +0 -0
  1207. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/array.f +0 -0
  1208. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/array_session.dat +0 -0
  1209. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/calculate.f +0 -0
  1210. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/calculate_session.dat +0 -0
  1211. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/callback.f +0 -0
  1212. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/callback2.pyf +0 -0
  1213. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/callback_session.dat +0 -0
  1214. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/common.f +0 -0
  1215. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/common_session.dat +0 -0
  1216. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/compile_session.dat +0 -0
  1217. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/distutils.rst +0 -0
  1218. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/extcallback.f +0 -0
  1219. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/extcallback_session.dat +0 -0
  1220. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/fib1.f +0 -0
  1221. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/fib1.pyf +0 -0
  1222. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/fib2.pyf +0 -0
  1223. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/fib3.f +0 -0
  1224. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/ftype.f +0 -0
  1225. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/ftype_session.dat +0 -0
  1226. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/getting-started.rst +0 -0
  1227. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/index.rst +0 -0
  1228. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/moddata.f90 +0 -0
  1229. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/moddata_session.dat +0 -0
  1230. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/python-usage.rst +0 -0
  1231. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/run_main_session.dat +0 -0
  1232. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/scalar.f +0 -0
  1233. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/scalar_session.dat +0 -0
  1234. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/setup_example.py +0 -0
  1235. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/signature-file.rst +0 -0
  1236. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/spam.pyf +0 -0
  1237. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/spam_session.dat +0 -0
  1238. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/string.f +0 -0
  1239. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/string_session.dat +0 -0
  1240. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/usage.rst +0 -0
  1241. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/var.pyf +0 -0
  1242. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/f2py/var_session.dat +0 -0
  1243. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/glossary.rst +0 -0
  1244. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/license.rst +0 -0
  1245. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/neps/datetime-proposal.rst +0 -0
  1246. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/neps/datetime-proposal3.rst +0 -0
  1247. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/neps/deferred-ufunc-evaluation.rst +0 -0
  1248. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/neps/generalized-ufuncs.rst +0 -0
  1249. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/neps/groupby_additions.rst +0 -0
  1250. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/neps/index.rst +0 -0
  1251. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/neps/math_config_clean.rst +0 -0
  1252. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/neps/missing-data.rst +0 -0
  1253. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/neps/new-iterator-ufunc.rst +0 -0
  1254. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/neps/newbugtracker.rst +0 -0
  1255. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/neps/npy-format.rst +0 -0
  1256. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/neps/structured_array_extensions.rst +0 -0
  1257. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/neps/ufunc-overrides.rst +0 -0
  1258. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/neps/warnfix.rst +0 -0
  1259. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/arrays.datetime.rst +0 -0
  1260. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/arrays.nditer.rst +0 -0
  1261. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/arrays.rst +0 -0
  1262. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/c-api.deprecations.rst +0 -0
  1263. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/c-api.rst +0 -0
  1264. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/distutils.rst +0 -0
  1265. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/figures/dtype-hierarchy.dia +0 -0
  1266. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/figures/dtype-hierarchy.pdf +0 -0
  1267. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/figures/dtype-hierarchy.png +0 -0
  1268. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/figures/threefundamental.fig +0 -0
  1269. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/figures/threefundamental.pdf +0 -0
  1270. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/figures/threefundamental.png +0 -0
  1271. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/internals.rst +0 -0
  1272. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/maskedarray.baseclass.rst +0 -0
  1273. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/maskedarray.generic.rst +0 -0
  1274. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/maskedarray.rst +0 -0
  1275. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.array-creation.rst +0 -0
  1276. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.bitwise.rst +0 -0
  1277. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.char.rst +0 -0
  1278. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.ctypeslib.rst +0 -0
  1279. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.datetime.rst +0 -0
  1280. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.dtype.rst +0 -0
  1281. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.dual.rst +0 -0
  1282. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.emath.rst +0 -0
  1283. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.err.rst +0 -0
  1284. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.fft.rst +0 -0
  1285. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.financial.rst +0 -0
  1286. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.functional.rst +0 -0
  1287. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.help.rst +0 -0
  1288. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.indexing.rst +0 -0
  1289. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.logic.rst +0 -0
  1290. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.math.rst +0 -0
  1291. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.matlib.rst +0 -0
  1292. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.numarray.rst +0 -0
  1293. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.oldnumeric.rst +0 -0
  1294. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.other.rst +0 -0
  1295. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.padding.rst +0 -0
  1296. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.chebyshev.rst +0 -0
  1297. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.classes.rst +0 -0
  1298. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.hermite.rst +0 -0
  1299. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.hermite_e.rst +0 -0
  1300. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.laguerre.rst +0 -0
  1301. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.legendre.rst +0 -0
  1302. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.package.rst +0 -0
  1303. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.poly1d.rst +0 -0
  1304. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.polynomial.rst +0 -0
  1305. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.polynomials.rst +0 -0
  1306. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.random.rst +0 -0
  1307. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.rst +0 -0
  1308. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.set.rst +0 -0
  1309. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.testing.rst +0 -0
  1310. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/routines.window.rst +0 -0
  1311. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/reference/swig.rst +0 -0
  1312. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/user/basics.broadcasting.rst +0 -0
  1313. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/user/basics.byteswapping.rst +0 -0
  1314. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/user/basics.creation.rst +0 -0
  1315. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/user/basics.indexing.rst +0 -0
  1316. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/user/basics.io.rst +0 -0
  1317. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/user/basics.rst +0 -0
  1318. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/user/basics.subclassing.rst +0 -0
  1319. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/user/basics.types.rst +0 -0
  1320. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/user/c-info.rst +0 -0
  1321. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/user/howtofind.rst +0 -0
  1322. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/user/index.rst +0 -0
  1323. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/user/introduction.rst +0 -0
  1324. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/user/misc.rst +0 -0
  1325. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/user/performance.rst +0 -0
  1326. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/source/user/whatisnumpy.rst +0 -0
  1327. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/.git +0 -0
  1328. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/.gitignore +0 -0
  1329. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/.travis.yml +0 -0
  1330. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/LICENSE.txt +0 -0
  1331. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/MANIFEST.in +0 -0
  1332. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/README.rst +0 -0
  1333. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/__init__.py +0 -0
  1334. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/comment_eater.py +0 -0
  1335. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/compiler_unparse.py +0 -0
  1336. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/docscrape.py +0 -0
  1337. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/docscrape_sphinx.py +0 -0
  1338. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/linkcode.py +0 -0
  1339. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/numpydoc.py +0 -0
  1340. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/phantom_import.py +0 -0
  1341. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/plot_directive.py +0 -0
  1342. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_docscrape.py +0 -0
  1343. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_linkcode.py +0 -0
  1344. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_phantom_import.py +0 -0
  1345. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_plot_directive.py +0 -0
  1346. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/tests/test_traitsdoc.py +0 -0
  1347. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/numpydoc/traitsdoc.py +0 -0
  1348. {numpy-1.9.3 → numpy-1.10.0.post2}/doc/sphinxext/setup.py +0 -0
  1349. {numpy-1.9.3/numpy/core/code_generators → numpy-1.10.0.post2/numpy/_build_utils}/__init__.py +0 -0
  1350. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/compat/__init__.py +0 -0
  1351. {numpy-1.9.3/numpy/distutils/tests/f2py_ext → numpy-1.10.0.post2/numpy/core/code_generators}/__init__.py +0 -0
  1352. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/code_generators/genapi.py +0 -0
  1353. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/code_generators/generate_numpy_api.py +0 -0
  1354. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/cversions.py +0 -0
  1355. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/include/numpy/_neighborhood_iterator_imp.h +0 -0
  1356. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/include/numpy/_numpyconfig.h.in +0 -0
  1357. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/include/numpy/arrayobject.h +0 -0
  1358. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/include/numpy/arrayscalars.h +0 -0
  1359. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/include/numpy/halffloat.h +0 -0
  1360. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/include/numpy/noprefix.h +0 -0
  1361. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_1_7_deprecated_api.h +0 -0
  1362. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_interrupt.h +0 -0
  1363. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_no_deprecated_api.h +0 -0
  1364. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/include/numpy/npy_os.h +0 -0
  1365. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/include/numpy/old_defines.h +0 -0
  1366. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/include/numpy/oldnumeric.h +0 -0
  1367. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/include/numpy/ufuncobject.h +0 -0
  1368. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/include/numpy/utils.h +0 -0
  1369. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/info.py +0 -0
  1370. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/mlib.ini.in +0 -0
  1371. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/npymath.ini.in +0 -0
  1372. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/dummymodule.c +0 -0
  1373. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/_datetime.h +0 -0
  1374. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/alloc.h +0 -0
  1375. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign.c +0 -0
  1376. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign.h +0 -0
  1377. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign_array.c +0 -0
  1378. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/array_assign_scalar.c +0 -0
  1379. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/arrayobject.h +0 -0
  1380. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/buffer.h +0 -0
  1381. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/calculation.h +0 -0
  1382. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/conversion_utils.h +0 -0
  1383. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/convert.h +0 -0
  1384. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/convert_datatype.h +0 -0
  1385. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/ctors.h +0 -0
  1386. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/datetime_busday.h +0 -0
  1387. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/datetime_busdaycal.h +0 -0
  1388. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/datetime_strings.h +0 -0
  1389. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/descriptor.h +0 -0
  1390. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/flagsobject.c +0 -0
  1391. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/getset.h +0 -0
  1392. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/hashdescr.h +0 -0
  1393. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/item_selection.h +0 -0
  1394. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/iterators.h +0 -0
  1395. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/methods.h +0 -0
  1396. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/nditer_impl.h +0 -0
  1397. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/nditer_pywrap.h +0 -0
  1398. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/nditer_templ.c.src +0 -0
  1399. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/numpymemoryview.h +0 -0
  1400. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/numpyos.h +0 -0
  1401. {numpy-1.9.3/numpy/core/blasdot → numpy-1.10.0.post2/numpy/core/src/multiarray}/python_xerbla.c +0 -0
  1402. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/refcount.c +0 -0
  1403. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/refcount.h +0 -0
  1404. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/sequence.c +0 -0
  1405. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/sequence.h +0 -0
  1406. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/shape.h +0 -0
  1407. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/ucsnarrow.h +0 -0
  1408. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/usertypes.c +0 -0
  1409. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/multiarray/usertypes.h +0 -0
  1410. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/npymath/_signbit.c +0 -0
  1411. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/npymath/halffloat.c +0 -0
  1412. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/npymath/npy_math_common.h +0 -0
  1413. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/npysort/binsearch.c.src +0 -0
  1414. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/private/lowlevel_strided_loops.h +0 -0
  1415. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/private/npy_binsearch.h.src +0 -0
  1416. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/private/npy_fpmath.h +0 -0
  1417. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/private/npy_pycompat.h +0 -0
  1418. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/umath/reduction.c +0 -0
  1419. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/umath/reduction.h +0 -0
  1420. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/umath/struct_ufunc_test.c.src +0 -0
  1421. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/umath/ufunc_object.h +0 -0
  1422. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/src/umath/ufunc_type_resolution.h +0 -0
  1423. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/tests/data/astype_copy.pkl +0 -0
  1424. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/tests/data/recarray_from_file.fits +0 -0
  1425. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/core/tests/test_scalarprint.py +0 -0
  1426. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/ctypeslib.py +0 -0
  1427. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/__version__.py +0 -0
  1428. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/command/__init__.py +0 -0
  1429. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/command/bdist_rpm.py +0 -0
  1430. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/command/build_py.py +0 -0
  1431. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/command/build_scripts.py +0 -0
  1432. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/command/build_src.py +0 -0
  1433. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/command/config_compiler.py +0 -0
  1434. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/command/develop.py +0 -0
  1435. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/command/egg_info.py +0 -0
  1436. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/command/install.py +0 -0
  1437. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/command/install_clib.py +0 -0
  1438. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/command/install_data.py +0 -0
  1439. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/command/install_headers.py +0 -0
  1440. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/command/sdist.py +0 -0
  1441. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/compat.py +0 -0
  1442. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/conv_template.py +0 -0
  1443. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/core.py +0 -0
  1444. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/cpuinfo.py +0 -0
  1445. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/environment.py +0 -0
  1446. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/extension.py +0 -0
  1447. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/__init__.py +0 -0
  1448. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/absoft.py +0 -0
  1449. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/g95.py +0 -0
  1450. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/hpux.py +0 -0
  1451. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/ibm.py +0 -0
  1452. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/lahey.py +0 -0
  1453. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/mips.py +0 -0
  1454. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/nag.py +0 -0
  1455. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/none.py +0 -0
  1456. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/pathf95.py +0 -0
  1457. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/fcompiler/vast.py +0 -0
  1458. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/from_template.py +0 -0
  1459. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/info.py +0 -0
  1460. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/line_endings.py +0 -0
  1461. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/log.py +0 -0
  1462. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/mingw/gfortran_vs2003_hack.c +0 -0
  1463. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/numpy_distribution.py +0 -0
  1464. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/pathccompiler.py +0 -0
  1465. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/setup.py +0 -0
  1466. {numpy-1.9.3/numpy/distutils/tests/f2py_f90_ext → numpy-1.10.0.post2/numpy/distutils/tests/f2py_ext}/__init__.py +0 -0
  1467. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_ext/setup.py +0 -0
  1468. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_ext/src/fib1.f +0 -0
  1469. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_ext/src/fib2.pyf +0 -0
  1470. {numpy-1.9.3/numpy/distutils/tests/gen_ext → numpy-1.10.0.post2/numpy/distutils/tests/f2py_f90_ext}/__init__.py +0 -0
  1471. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_f90_ext/include/body.f90 +0 -0
  1472. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_f90_ext/setup.py +0 -0
  1473. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/tests/f2py_f90_ext/src/foo_free.f90 +0 -0
  1474. {numpy-1.9.3/numpy/distutils/tests/pyrex_ext → numpy-1.10.0.post2/numpy/distutils/tests/gen_ext}/__init__.py +0 -0
  1475. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/tests/gen_ext/setup.py +0 -0
  1476. {numpy-1.9.3/numpy/distutils/tests/swig_ext → numpy-1.10.0.post2/numpy/distutils/tests/pyrex_ext}/__init__.py +0 -0
  1477. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/tests/pyrex_ext/primes.pyx +0 -0
  1478. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/tests/pyrex_ext/setup.py +0 -0
  1479. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/tests/setup.py +0 -0
  1480. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/setup.py +0 -0
  1481. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/example.c +0 -0
  1482. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/example.i +0 -0
  1483. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/zoo.cc +0 -0
  1484. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/zoo.h +0 -0
  1485. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/tests/swig_ext/src/zoo.i +0 -0
  1486. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/distutils/tests/test_exec_command.py +0 -0
  1487. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/doc/__init__.py +0 -0
  1488. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/doc/basics.py +0 -0
  1489. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/doc/broadcasting.py +0 -0
  1490. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/doc/constants.py +0 -0
  1491. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/doc/howtofind.py +0 -0
  1492. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/doc/internals.py +0 -0
  1493. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/doc/io.py +0 -0
  1494. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/doc/jargon.py +0 -0
  1495. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/doc/methods_vs_functions.py +0 -0
  1496. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/doc/misc.py +0 -0
  1497. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/doc/performance.py +0 -0
  1498. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/doc/subclassing.py +0 -0
  1499. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/doc/ufuncs.py +0 -0
  1500. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/dual.py +0 -0
  1501. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/f2py/__version__.py +0 -0
  1502. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/f2py/info.py +0 -0
  1503. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/.f2py_f2cmap +0 -0
  1504. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/foo_free.f90 +0 -0
  1505. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/foo_mod.f90 +0 -0
  1506. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/foo_use.f90 +0 -0
  1507. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/f2py/tests/src/assumed_shape/precision.f90 +0 -0
  1508. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/f2py/tests/src/kind/foo.f90 +0 -0
  1509. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/f2py/tests/src/mixed/foo.f +0 -0
  1510. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/f2py/tests/src/mixed/foo_fixed.f90 +0 -0
  1511. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/f2py/tests/src/mixed/foo_free.f90 +0 -0
  1512. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/f2py/tests/src/regression/inout.f90 +0 -0
  1513. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/f2py/tests/src/size/foo.f90 +0 -0
  1514. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/fft/__init__.py +0 -0
  1515. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/fft/helper.py +0 -0
  1516. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/lib/__init__.py +0 -0
  1517. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/lib/_datasource.py +0 -0
  1518. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/lib/_version.py +0 -0
  1519. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/lib/scimath.py +0 -0
  1520. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/lib/tests/data/python3.npy +0 -0
  1521. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/lib/tests/data/win64python2.npy +0 -0
  1522. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/lib/tests/test__datasource.py +0 -0
  1523. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/lib/tests/test_arrayterator.py +0 -0
  1524. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/lib/tests/test_regression.py +0 -0
  1525. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/lib/tests/test_ufunclike.py +0 -0
  1526. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/lib/tests/test_utils.py +0 -0
  1527. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/lib/ufunclike.py +0 -0
  1528. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/lib/user_array.py +0 -0
  1529. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/linalg/__init__.py +0 -0
  1530. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/linalg/info.py +0 -0
  1531. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/blas_lite.c +0 -0
  1532. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/dlamch.c +0 -0
  1533. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/dlapack_lite.c +0 -0
  1534. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/f2c.h +0 -0
  1535. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/f2c_lite.c +0 -0
  1536. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/linalg/lapack_lite/zlapack_lite.c +0 -0
  1537. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/linalg/setup.py +0 -0
  1538. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/linalg/tests/test_deprecations.py +0 -0
  1539. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/ma/version.py +0 -0
  1540. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/matrixlib/__init__.py +0 -0
  1541. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/matrixlib/setup.py +0 -0
  1542. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/polynomial/__init__.py +0 -0
  1543. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/polynomial/polynomial.py +0 -0
  1544. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/polynomial/setup.py +0 -0
  1545. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_chebyshev.py +0 -0
  1546. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_classes.py +0 -0
  1547. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_hermite.py +0 -0
  1548. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_hermite_e.py +0 -0
  1549. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_laguerre.py +0 -0
  1550. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_legendre.py +0 -0
  1551. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_polynomial.py +0 -0
  1552. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_polyutils.py +0 -0
  1553. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/polynomial/tests/test_printing.py +0 -0
  1554. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/random/__init__.py +0 -0
  1555. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/random/info.py +0 -0
  1556. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/random/mtrand/Python.pxi +0 -0
  1557. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/random/mtrand/distributions.h +0 -0
  1558. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/random/mtrand/generate_mtrand_c.py +0 -0
  1559. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/random/mtrand/initarray.c +0 -0
  1560. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/random/mtrand/initarray.h +0 -0
  1561. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/random/mtrand/mtrand_py_helper.h +0 -0
  1562. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/random/mtrand/numpy.pxd +0 -0
  1563. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/random/mtrand/randomkit.c +0 -0
  1564. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/random/mtrand/randomkit.h +0 -0
  1565. {numpy-1.9.3 → numpy-1.10.0.post2}/numpy/testing/tests/test_doctesting.py +0 -0
  1566. {numpy-1.9.3 → numpy-1.10.0.post2}/setupegg.py +0 -0
  1567. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/Makefile +0 -0
  1568. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/pyfragments.swg +0 -0
  1569. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Array1.cxx +0 -0
  1570. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Array1.h +0 -0
  1571. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Array2.cxx +0 -0
  1572. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Array2.h +0 -0
  1573. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Farray.cxx +0 -0
  1574. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Farray.h +0 -0
  1575. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Farray.i +0 -0
  1576. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Fortran.cxx +0 -0
  1577. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Fortran.h +0 -0
  1578. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Fortran.i +0 -0
  1579. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Matrix.cxx +0 -0
  1580. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Matrix.h +0 -0
  1581. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Matrix.i +0 -0
  1582. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/SuperTensor.cxx +0 -0
  1583. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/SuperTensor.h +0 -0
  1584. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/SuperTensor.i +0 -0
  1585. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Tensor.cxx +0 -0
  1586. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Tensor.h +0 -0
  1587. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Tensor.i +0 -0
  1588. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Vector.cxx +0 -0
  1589. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Vector.h +0 -0
  1590. {numpy-1.9.3 → numpy-1.10.0.post2}/tools/swig/test/Vector.i +0 -0
@@ -1,2136 +0,0 @@
1
- """Lite version of scipy.linalg.
2
-
3
- Notes
4
- -----
5
- This module is a lite version of the linalg.py module in SciPy which
6
- contains high-level Python interface to the LAPACK library. The lite
7
- version only accesses the following LAPACK functions: dgesv, zgesv,
8
- dgeev, zgeev, dgesdd, zgesdd, dgelsd, zgelsd, dsyevd, zheevd, dgetrf,
9
- zgetrf, dpotrf, zpotrf, dgeqrf, zgeqrf, zungqr, dorgqr.
10
- """
11
- from __future__ import division, absolute_import, print_function
12
-
13
-
14
- __all__ = ['matrix_power', 'solve', 'tensorsolve', 'tensorinv', 'inv',
15
- 'cholesky', 'eigvals', 'eigvalsh', 'pinv', 'slogdet', 'det',
16
- 'svd', 'eig', 'eigh', 'lstsq', 'norm', 'qr', 'cond', 'matrix_rank',
17
- 'LinAlgError']
18
-
19
- import warnings
20
-
21
- from numpy.core import (
22
- array, asarray, zeros, empty, empty_like, transpose, intc, single, double,
23
- csingle, cdouble, inexact, complexfloating, newaxis, ravel, all, Inf, dot,
24
- add, multiply, sqrt, maximum, fastCopyAndTranspose, sum, isfinite, size,
25
- finfo, errstate, geterrobj, longdouble, rollaxis, amin, amax, product, abs,
26
- broadcast
27
- )
28
- from numpy.lib import triu, asfarray
29
- from numpy.linalg import lapack_lite, _umath_linalg
30
- from numpy.matrixlib.defmatrix import matrix_power
31
- from numpy.compat import asbytes
32
-
33
- # For Python2/3 compatibility
34
- _N = asbytes('N')
35
- _V = asbytes('V')
36
- _A = asbytes('A')
37
- _S = asbytes('S')
38
- _L = asbytes('L')
39
-
40
- fortran_int = intc
41
-
42
- # Error object
43
- class LinAlgError(Exception):
44
- """
45
- Generic Python-exception-derived object raised by linalg functions.
46
-
47
- General purpose exception class, derived from Python's exception.Exception
48
- class, programmatically raised in linalg functions when a Linear
49
- Algebra-related condition would prevent further correct execution of the
50
- function.
51
-
52
- Parameters
53
- ----------
54
- None
55
-
56
- Examples
57
- --------
58
- >>> from numpy import linalg as LA
59
- >>> LA.inv(np.zeros((2,2)))
60
- Traceback (most recent call last):
61
- File "<stdin>", line 1, in <module>
62
- File "...linalg.py", line 350,
63
- in inv return wrap(solve(a, identity(a.shape[0], dtype=a.dtype)))
64
- File "...linalg.py", line 249,
65
- in solve
66
- raise LinAlgError('Singular matrix')
67
- numpy.linalg.LinAlgError: Singular matrix
68
-
69
- """
70
- pass
71
-
72
- # Dealing with errors in _umath_linalg
73
-
74
- _linalg_error_extobj = None
75
-
76
- def _determine_error_states():
77
- global _linalg_error_extobj
78
- errobj = geterrobj()
79
- bufsize = errobj[0]
80
-
81
- with errstate(invalid='call', over='ignore',
82
- divide='ignore', under='ignore'):
83
- invalid_call_errmask = geterrobj()[1]
84
-
85
- _linalg_error_extobj = [bufsize, invalid_call_errmask, None]
86
-
87
- _determine_error_states()
88
-
89
- def _raise_linalgerror_singular(err, flag):
90
- raise LinAlgError("Singular matrix")
91
-
92
- def _raise_linalgerror_nonposdef(err, flag):
93
- raise LinAlgError("Matrix is not positive definite")
94
-
95
- def _raise_linalgerror_eigenvalues_nonconvergence(err, flag):
96
- raise LinAlgError("Eigenvalues did not converge")
97
-
98
- def _raise_linalgerror_svd_nonconvergence(err, flag):
99
- raise LinAlgError("SVD did not converge")
100
-
101
- def get_linalg_error_extobj(callback):
102
- extobj = list(_linalg_error_extobj)
103
- extobj[2] = callback
104
- return extobj
105
-
106
- def _makearray(a):
107
- new = asarray(a)
108
- wrap = getattr(a, "__array_prepare__", new.__array_wrap__)
109
- return new, wrap
110
-
111
- def isComplexType(t):
112
- return issubclass(t, complexfloating)
113
-
114
- _real_types_map = {single : single,
115
- double : double,
116
- csingle : single,
117
- cdouble : double}
118
-
119
- _complex_types_map = {single : csingle,
120
- double : cdouble,
121
- csingle : csingle,
122
- cdouble : cdouble}
123
-
124
- def _realType(t, default=double):
125
- return _real_types_map.get(t, default)
126
-
127
- def _complexType(t, default=cdouble):
128
- return _complex_types_map.get(t, default)
129
-
130
- def _linalgRealType(t):
131
- """Cast the type t to either double or cdouble."""
132
- return double
133
-
134
- _complex_types_map = {single : csingle,
135
- double : cdouble,
136
- csingle : csingle,
137
- cdouble : cdouble}
138
-
139
- def _commonType(*arrays):
140
- # in lite version, use higher precision (always double or cdouble)
141
- result_type = single
142
- is_complex = False
143
- for a in arrays:
144
- if issubclass(a.dtype.type, inexact):
145
- if isComplexType(a.dtype.type):
146
- is_complex = True
147
- rt = _realType(a.dtype.type, default=None)
148
- if rt is None:
149
- # unsupported inexact scalar
150
- raise TypeError("array type %s is unsupported in linalg" %
151
- (a.dtype.name,))
152
- else:
153
- rt = double
154
- if rt is double:
155
- result_type = double
156
- if is_complex:
157
- t = cdouble
158
- result_type = _complex_types_map[result_type]
159
- else:
160
- t = double
161
- return t, result_type
162
-
163
-
164
- # _fastCopyAndTranpose assumes the input is 2D (as all the calls in here are).
165
-
166
- _fastCT = fastCopyAndTranspose
167
-
168
- def _to_native_byte_order(*arrays):
169
- ret = []
170
- for arr in arrays:
171
- if arr.dtype.byteorder not in ('=', '|'):
172
- ret.append(asarray(arr, dtype=arr.dtype.newbyteorder('=')))
173
- else:
174
- ret.append(arr)
175
- if len(ret) == 1:
176
- return ret[0]
177
- else:
178
- return ret
179
-
180
- def _fastCopyAndTranspose(type, *arrays):
181
- cast_arrays = ()
182
- for a in arrays:
183
- if a.dtype.type is type:
184
- cast_arrays = cast_arrays + (_fastCT(a),)
185
- else:
186
- cast_arrays = cast_arrays + (_fastCT(a.astype(type)),)
187
- if len(cast_arrays) == 1:
188
- return cast_arrays[0]
189
- else:
190
- return cast_arrays
191
-
192
- def _assertRank2(*arrays):
193
- for a in arrays:
194
- if len(a.shape) != 2:
195
- raise LinAlgError('%d-dimensional array given. Array must be '
196
- 'two-dimensional' % len(a.shape))
197
-
198
- def _assertRankAtLeast2(*arrays):
199
- for a in arrays:
200
- if len(a.shape) < 2:
201
- raise LinAlgError('%d-dimensional array given. Array must be '
202
- 'at least two-dimensional' % len(a.shape))
203
-
204
- def _assertSquareness(*arrays):
205
- for a in arrays:
206
- if max(a.shape) != min(a.shape):
207
- raise LinAlgError('Array must be square')
208
-
209
- def _assertNdSquareness(*arrays):
210
- for a in arrays:
211
- if max(a.shape[-2:]) != min(a.shape[-2:]):
212
- raise LinAlgError('Last 2 dimensions of the array must be square')
213
-
214
- def _assertFinite(*arrays):
215
- for a in arrays:
216
- if not (isfinite(a).all()):
217
- raise LinAlgError("Array must not contain infs or NaNs")
218
-
219
- def _assertNoEmpty2d(*arrays):
220
- for a in arrays:
221
- if a.size == 0 and product(a.shape[-2:]) == 0:
222
- raise LinAlgError("Arrays cannot be empty")
223
-
224
-
225
- # Linear equations
226
-
227
- def tensorsolve(a, b, axes=None):
228
- """
229
- Solve the tensor equation ``a x = b`` for x.
230
-
231
- It is assumed that all indices of `x` are summed over in the product,
232
- together with the rightmost indices of `a`, as is done in, for example,
233
- ``tensordot(a, x, axes=len(b.shape))``.
234
-
235
- Parameters
236
- ----------
237
- a : array_like
238
- Coefficient tensor, of shape ``b.shape + Q``. `Q`, a tuple, equals
239
- the shape of that sub-tensor of `a` consisting of the appropriate
240
- number of its rightmost indices, and must be such that
241
- ``prod(Q) == prod(b.shape)`` (in which sense `a` is said to be
242
- 'square').
243
- b : array_like
244
- Right-hand tensor, which can be of any shape.
245
- axes : tuple of ints, optional
246
- Axes in `a` to reorder to the right, before inversion.
247
- If None (default), no reordering is done.
248
-
249
- Returns
250
- -------
251
- x : ndarray, shape Q
252
-
253
- Raises
254
- ------
255
- LinAlgError
256
- If `a` is singular or not 'square' (in the above sense).
257
-
258
- See Also
259
- --------
260
- tensordot, tensorinv, einsum
261
-
262
- Examples
263
- --------
264
- >>> a = np.eye(2*3*4)
265
- >>> a.shape = (2*3, 4, 2, 3, 4)
266
- >>> b = np.random.randn(2*3, 4)
267
- >>> x = np.linalg.tensorsolve(a, b)
268
- >>> x.shape
269
- (2, 3, 4)
270
- >>> np.allclose(np.tensordot(a, x, axes=3), b)
271
- True
272
-
273
- """
274
- a, wrap = _makearray(a)
275
- b = asarray(b)
276
- an = a.ndim
277
-
278
- if axes is not None:
279
- allaxes = list(range(0, an))
280
- for k in axes:
281
- allaxes.remove(k)
282
- allaxes.insert(an, k)
283
- a = a.transpose(allaxes)
284
-
285
- oldshape = a.shape[-(an-b.ndim):]
286
- prod = 1
287
- for k in oldshape:
288
- prod *= k
289
-
290
- a = a.reshape(-1, prod)
291
- b = b.ravel()
292
- res = wrap(solve(a, b))
293
- res.shape = oldshape
294
- return res
295
-
296
- def solve(a, b):
297
- """
298
- Solve a linear matrix equation, or system of linear scalar equations.
299
-
300
- Computes the "exact" solution, `x`, of the well-determined, i.e., full
301
- rank, linear matrix equation `ax = b`.
302
-
303
- Parameters
304
- ----------
305
- a : (..., M, M) array_like
306
- Coefficient matrix.
307
- b : {(..., M,), (..., M, K)}, array_like
308
- Ordinate or "dependent variable" values.
309
-
310
- Returns
311
- -------
312
- x : {(..., M,), (..., M, K)} ndarray
313
- Solution to the system a x = b. Returned shape is identical to `b`.
314
-
315
- Raises
316
- ------
317
- LinAlgError
318
- If `a` is singular or not square.
319
-
320
- Notes
321
- -----
322
- Broadcasting rules apply, see the `numpy.linalg` documentation for
323
- details.
324
-
325
- The solutions are computed using LAPACK routine _gesv
326
-
327
- `a` must be square and of full-rank, i.e., all rows (or, equivalently,
328
- columns) must be linearly independent; if either is not true, use
329
- `lstsq` for the least-squares best "solution" of the
330
- system/equation.
331
-
332
- References
333
- ----------
334
- .. [1] G. Strang, *Linear Algebra and Its Applications*, 2nd Ed., Orlando,
335
- FL, Academic Press, Inc., 1980, pg. 22.
336
-
337
- Examples
338
- --------
339
- Solve the system of equations ``3 * x0 + x1 = 9`` and ``x0 + 2 * x1 = 8``:
340
-
341
- >>> a = np.array([[3,1], [1,2]])
342
- >>> b = np.array([9,8])
343
- >>> x = np.linalg.solve(a, b)
344
- >>> x
345
- array([ 2., 3.])
346
-
347
- Check that the solution is correct:
348
-
349
- >>> np.allclose(np.dot(a, x), b)
350
- True
351
-
352
- """
353
- a, _ = _makearray(a)
354
- _assertRankAtLeast2(a)
355
- _assertNdSquareness(a)
356
- b, wrap = _makearray(b)
357
- t, result_t = _commonType(a, b)
358
-
359
- # We use the b = (..., M,) logic, only if the number of extra dimensions
360
- # match exactly
361
- if b.ndim == a.ndim - 1:
362
- if a.shape[-1] == 0 and b.shape[-1] == 0:
363
- # Legal, but the ufunc cannot handle the 0-sized inner dims
364
- # let the ufunc handle all wrong cases.
365
- a = a.reshape(a.shape[:-1])
366
- bc = broadcast(a, b)
367
- return wrap(empty(bc.shape, dtype=result_t))
368
-
369
- gufunc = _umath_linalg.solve1
370
- else:
371
- if b.size == 0:
372
- if (a.shape[-1] == 0 and b.shape[-2] == 0) or b.shape[-1] == 0:
373
- a = a[:,:1].reshape(a.shape[:-1] + (1,))
374
- bc = broadcast(a, b)
375
- return wrap(empty(bc.shape, dtype=result_t))
376
-
377
- gufunc = _umath_linalg.solve
378
-
379
- signature = 'DD->D' if isComplexType(t) else 'dd->d'
380
- extobj = get_linalg_error_extobj(_raise_linalgerror_singular)
381
- r = gufunc(a, b, signature=signature, extobj=extobj)
382
-
383
- return wrap(r.astype(result_t))
384
-
385
-
386
- def tensorinv(a, ind=2):
387
- """
388
- Compute the 'inverse' of an N-dimensional array.
389
-
390
- The result is an inverse for `a` relative to the tensordot operation
391
- ``tensordot(a, b, ind)``, i. e., up to floating-point accuracy,
392
- ``tensordot(tensorinv(a), a, ind)`` is the "identity" tensor for the
393
- tensordot operation.
394
-
395
- Parameters
396
- ----------
397
- a : array_like
398
- Tensor to 'invert'. Its shape must be 'square', i. e.,
399
- ``prod(a.shape[:ind]) == prod(a.shape[ind:])``.
400
- ind : int, optional
401
- Number of first indices that are involved in the inverse sum.
402
- Must be a positive integer, default is 2.
403
-
404
- Returns
405
- -------
406
- b : ndarray
407
- `a`'s tensordot inverse, shape ``a.shape[ind:] + a.shape[:ind]``.
408
-
409
- Raises
410
- ------
411
- LinAlgError
412
- If `a` is singular or not 'square' (in the above sense).
413
-
414
- See Also
415
- --------
416
- tensordot, tensorsolve
417
-
418
- Examples
419
- --------
420
- >>> a = np.eye(4*6)
421
- >>> a.shape = (4, 6, 8, 3)
422
- >>> ainv = np.linalg.tensorinv(a, ind=2)
423
- >>> ainv.shape
424
- (8, 3, 4, 6)
425
- >>> b = np.random.randn(4, 6)
426
- >>> np.allclose(np.tensordot(ainv, b), np.linalg.tensorsolve(a, b))
427
- True
428
-
429
- >>> a = np.eye(4*6)
430
- >>> a.shape = (24, 8, 3)
431
- >>> ainv = np.linalg.tensorinv(a, ind=1)
432
- >>> ainv.shape
433
- (8, 3, 24)
434
- >>> b = np.random.randn(24)
435
- >>> np.allclose(np.tensordot(ainv, b, 1), np.linalg.tensorsolve(a, b))
436
- True
437
-
438
- """
439
- a = asarray(a)
440
- oldshape = a.shape
441
- prod = 1
442
- if ind > 0:
443
- invshape = oldshape[ind:] + oldshape[:ind]
444
- for k in oldshape[ind:]:
445
- prod *= k
446
- else:
447
- raise ValueError("Invalid ind argument.")
448
- a = a.reshape(prod, -1)
449
- ia = inv(a)
450
- return ia.reshape(*invshape)
451
-
452
-
453
- # Matrix inversion
454
-
455
- def inv(a):
456
- """
457
- Compute the (multiplicative) inverse of a matrix.
458
-
459
- Given a square matrix `a`, return the matrix `ainv` satisfying
460
- ``dot(a, ainv) = dot(ainv, a) = eye(a.shape[0])``.
461
-
462
- Parameters
463
- ----------
464
- a : (..., M, M) array_like
465
- Matrix to be inverted.
466
-
467
- Returns
468
- -------
469
- ainv : (..., M, M) ndarray or matrix
470
- (Multiplicative) inverse of the matrix `a`.
471
-
472
- Raises
473
- ------
474
- LinAlgError
475
- If `a` is not square or inversion fails.
476
-
477
- Notes
478
- -----
479
- Broadcasting rules apply, see the `numpy.linalg` documentation for
480
- details.
481
-
482
- Examples
483
- --------
484
- >>> from numpy.linalg import inv
485
- >>> a = np.array([[1., 2.], [3., 4.]])
486
- >>> ainv = inv(a)
487
- >>> np.allclose(np.dot(a, ainv), np.eye(2))
488
- True
489
- >>> np.allclose(np.dot(ainv, a), np.eye(2))
490
- True
491
-
492
- If a is a matrix object, then the return value is a matrix as well:
493
-
494
- >>> ainv = inv(np.matrix(a))
495
- >>> ainv
496
- matrix([[-2. , 1. ],
497
- [ 1.5, -0.5]])
498
-
499
- Inverses of several matrices can be computed at once:
500
-
501
- >>> a = np.array([[[1., 2.], [3., 4.]], [[1, 3], [3, 5]]])
502
- >>> inv(a)
503
- array([[[-2. , 1. ],
504
- [ 1.5, -0.5]],
505
- [[-5. , 2. ],
506
- [ 3. , -1. ]]])
507
-
508
- """
509
- a, wrap = _makearray(a)
510
- _assertRankAtLeast2(a)
511
- _assertNdSquareness(a)
512
- t, result_t = _commonType(a)
513
-
514
- if a.shape[-1] == 0:
515
- # The inner array is 0x0, the ufunc cannot handle this case
516
- return wrap(empty_like(a, dtype=result_t))
517
-
518
- signature = 'D->D' if isComplexType(t) else 'd->d'
519
- extobj = get_linalg_error_extobj(_raise_linalgerror_singular)
520
- ainv = _umath_linalg.inv(a, signature=signature, extobj=extobj)
521
- return wrap(ainv.astype(result_t))
522
-
523
-
524
- # Cholesky decomposition
525
-
526
- def cholesky(a):
527
- """
528
- Cholesky decomposition.
529
-
530
- Return the Cholesky decomposition, `L * L.H`, of the square matrix `a`,
531
- where `L` is lower-triangular and .H is the conjugate transpose operator
532
- (which is the ordinary transpose if `a` is real-valued). `a` must be
533
- Hermitian (symmetric if real-valued) and positive-definite. Only `L` is
534
- actually returned.
535
-
536
- Parameters
537
- ----------
538
- a : (..., M, M) array_like
539
- Hermitian (symmetric if all elements are real), positive-definite
540
- input matrix.
541
-
542
- Returns
543
- -------
544
- L : (..., M, M) array_like
545
- Upper or lower-triangular Cholesky factor of `a`. Returns a
546
- matrix object if `a` is a matrix object.
547
-
548
- Raises
549
- ------
550
- LinAlgError
551
- If the decomposition fails, for example, if `a` is not
552
- positive-definite.
553
-
554
- Notes
555
- -----
556
- Broadcasting rules apply, see the `numpy.linalg` documentation for
557
- details.
558
-
559
- The Cholesky decomposition is often used as a fast way of solving
560
-
561
- .. math:: A \\mathbf{x} = \\mathbf{b}
562
-
563
- (when `A` is both Hermitian/symmetric and positive-definite).
564
-
565
- First, we solve for :math:`\\mathbf{y}` in
566
-
567
- .. math:: L \\mathbf{y} = \\mathbf{b},
568
-
569
- and then for :math:`\\mathbf{x}` in
570
-
571
- .. math:: L.H \\mathbf{x} = \\mathbf{y}.
572
-
573
- Examples
574
- --------
575
- >>> A = np.array([[1,-2j],[2j,5]])
576
- >>> A
577
- array([[ 1.+0.j, 0.-2.j],
578
- [ 0.+2.j, 5.+0.j]])
579
- >>> L = np.linalg.cholesky(A)
580
- >>> L
581
- array([[ 1.+0.j, 0.+0.j],
582
- [ 0.+2.j, 1.+0.j]])
583
- >>> np.dot(L, L.T.conj()) # verify that L * L.H = A
584
- array([[ 1.+0.j, 0.-2.j],
585
- [ 0.+2.j, 5.+0.j]])
586
- >>> A = [[1,-2j],[2j,5]] # what happens if A is only array_like?
587
- >>> np.linalg.cholesky(A) # an ndarray object is returned
588
- array([[ 1.+0.j, 0.+0.j],
589
- [ 0.+2.j, 1.+0.j]])
590
- >>> # But a matrix object is returned if A is a matrix object
591
- >>> LA.cholesky(np.matrix(A))
592
- matrix([[ 1.+0.j, 0.+0.j],
593
- [ 0.+2.j, 1.+0.j]])
594
-
595
- """
596
- extobj = get_linalg_error_extobj(_raise_linalgerror_nonposdef)
597
- gufunc = _umath_linalg.cholesky_lo
598
- a, wrap = _makearray(a)
599
- _assertRankAtLeast2(a)
600
- _assertNdSquareness(a)
601
- t, result_t = _commonType(a)
602
- signature = 'D->D' if isComplexType(t) else 'd->d'
603
- return wrap(gufunc(a, signature=signature, extobj=extobj).astype(result_t))
604
-
605
- # QR decompostion
606
-
607
- def qr(a, mode='reduced'):
608
- """
609
- Compute the qr factorization of a matrix.
610
-
611
- Factor the matrix `a` as *qr*, where `q` is orthonormal and `r` is
612
- upper-triangular.
613
-
614
- Parameters
615
- ----------
616
- a : array_like, shape (M, N)
617
- Matrix to be factored.
618
- mode : {'reduced', 'complete', 'r', 'raw', 'full', 'economic'}, optional
619
- If K = min(M, N), then
620
-
621
- 'reduced' : returns q, r with dimensions (M, K), (K, N) (default)
622
- 'complete' : returns q, r with dimensions (M, M), (M, N)
623
- 'r' : returns r only with dimensions (K, N)
624
- 'raw' : returns h, tau with dimensions (N, M), (K,)
625
- 'full' : alias of 'reduced', deprecated
626
- 'economic' : returns h from 'raw', deprecated.
627
-
628
- The options 'reduced', 'complete, and 'raw' are new in numpy 1.8,
629
- see the notes for more information. The default is 'reduced' and to
630
- maintain backward compatibility with earlier versions of numpy both
631
- it and the old default 'full' can be omitted. Note that array h
632
- returned in 'raw' mode is transposed for calling Fortran. The
633
- 'economic' mode is deprecated. The modes 'full' and 'economic' may
634
- be passed using only the first letter for backwards compatibility,
635
- but all others must be spelled out. See the Notes for more
636
- explanation.
637
-
638
-
639
- Returns
640
- -------
641
- q : ndarray of float or complex, optional
642
- A matrix with orthonormal columns. When mode = 'complete' the
643
- result is an orthogonal/unitary matrix depending on whether or not
644
- a is real/complex. The determinant may be either +/- 1 in that
645
- case.
646
- r : ndarray of float or complex, optional
647
- The upper-triangular matrix.
648
- (h, tau) : ndarrays of np.double or np.cdouble, optional
649
- The array h contains the Householder reflectors that generate q
650
- along with r. The tau array contains scaling factors for the
651
- reflectors. In the deprecated 'economic' mode only h is returned.
652
-
653
- Raises
654
- ------
655
- LinAlgError
656
- If factoring fails.
657
-
658
- Notes
659
- -----
660
- This is an interface to the LAPACK routines dgeqrf, zgeqrf,
661
- dorgqr, and zungqr.
662
-
663
- For more information on the qr factorization, see for example:
664
- http://en.wikipedia.org/wiki/QR_factorization
665
-
666
- Subclasses of `ndarray` are preserved except for the 'raw' mode. So if
667
- `a` is of type `matrix`, all the return values will be matrices too.
668
-
669
- New 'reduced', 'complete', and 'raw' options for mode were added in
670
- Numpy 1.8 and the old option 'full' was made an alias of 'reduced'. In
671
- addition the options 'full' and 'economic' were deprecated. Because
672
- 'full' was the previous default and 'reduced' is the new default,
673
- backward compatibility can be maintained by letting `mode` default.
674
- The 'raw' option was added so that LAPACK routines that can multiply
675
- arrays by q using the Householder reflectors can be used. Note that in
676
- this case the returned arrays are of type np.double or np.cdouble and
677
- the h array is transposed to be FORTRAN compatible. No routines using
678
- the 'raw' return are currently exposed by numpy, but some are available
679
- in lapack_lite and just await the necessary work.
680
-
681
- Examples
682
- --------
683
- >>> a = np.random.randn(9, 6)
684
- >>> q, r = np.linalg.qr(a)
685
- >>> np.allclose(a, np.dot(q, r)) # a does equal qr
686
- True
687
- >>> r2 = np.linalg.qr(a, mode='r')
688
- >>> r3 = np.linalg.qr(a, mode='economic')
689
- >>> np.allclose(r, r2) # mode='r' returns the same r as mode='full'
690
- True
691
- >>> # But only triu parts are guaranteed equal when mode='economic'
692
- >>> np.allclose(r, np.triu(r3[:6,:6], k=0))
693
- True
694
-
695
- Example illustrating a common use of `qr`: solving of least squares
696
- problems
697
-
698
- What are the least-squares-best `m` and `y0` in ``y = y0 + mx`` for
699
- the following data: {(0,1), (1,0), (1,2), (2,1)}. (Graph the points
700
- and you'll see that it should be y0 = 0, m = 1.) The answer is provided
701
- by solving the over-determined matrix equation ``Ax = b``, where::
702
-
703
- A = array([[0, 1], [1, 1], [1, 1], [2, 1]])
704
- x = array([[y0], [m]])
705
- b = array([[1], [0], [2], [1]])
706
-
707
- If A = qr such that q is orthonormal (which is always possible via
708
- Gram-Schmidt), then ``x = inv(r) * (q.T) * b``. (In numpy practice,
709
- however, we simply use `lstsq`.)
710
-
711
- >>> A = np.array([[0, 1], [1, 1], [1, 1], [2, 1]])
712
- >>> A
713
- array([[0, 1],
714
- [1, 1],
715
- [1, 1],
716
- [2, 1]])
717
- >>> b = np.array([1, 0, 2, 1])
718
- >>> q, r = LA.qr(A)
719
- >>> p = np.dot(q.T, b)
720
- >>> np.dot(LA.inv(r), p)
721
- array([ 1.1e-16, 1.0e+00])
722
-
723
- """
724
- if mode not in ('reduced', 'complete', 'r', 'raw'):
725
- if mode in ('f', 'full'):
726
- msg = "".join((
727
- "The 'full' option is deprecated in favor of 'reduced'.\n",
728
- "For backward compatibility let mode default."))
729
- warnings.warn(msg, DeprecationWarning)
730
- mode = 'reduced'
731
- elif mode in ('e', 'economic'):
732
- msg = "The 'economic' option is deprecated.",
733
- warnings.warn(msg, DeprecationWarning)
734
- mode = 'economic'
735
- else:
736
- raise ValueError("Unrecognized mode '%s'" % mode)
737
-
738
- a, wrap = _makearray(a)
739
- _assertRank2(a)
740
- _assertNoEmpty2d(a)
741
- m, n = a.shape
742
- t, result_t = _commonType(a)
743
- a = _fastCopyAndTranspose(t, a)
744
- a = _to_native_byte_order(a)
745
- mn = min(m, n)
746
- tau = zeros((mn,), t)
747
- if isComplexType(t):
748
- lapack_routine = lapack_lite.zgeqrf
749
- routine_name = 'zgeqrf'
750
- else:
751
- lapack_routine = lapack_lite.dgeqrf
752
- routine_name = 'dgeqrf'
753
-
754
- # calculate optimal size of work data 'work'
755
- lwork = 1
756
- work = zeros((lwork,), t)
757
- results = lapack_routine(m, n, a, m, tau, work, -1, 0)
758
- if results['info'] != 0:
759
- raise LinAlgError('%s returns %d' % (routine_name, results['info']))
760
-
761
- # do qr decomposition
762
- lwork = int(abs(work[0]))
763
- work = zeros((lwork,), t)
764
- results = lapack_routine(m, n, a, m, tau, work, lwork, 0)
765
- if results['info'] != 0:
766
- raise LinAlgError('%s returns %d' % (routine_name, results['info']))
767
-
768
- # handle modes that don't return q
769
- if mode == 'r':
770
- r = _fastCopyAndTranspose(result_t, a[:, :mn])
771
- return wrap(triu(r))
772
-
773
- if mode == 'raw':
774
- return a, tau
775
-
776
- if mode == 'economic':
777
- if t != result_t :
778
- a = a.astype(result_t)
779
- return wrap(a.T)
780
-
781
- # generate q from a
782
- if mode == 'complete' and m > n:
783
- mc = m
784
- q = empty((m, m), t)
785
- else:
786
- mc = mn
787
- q = empty((n, m), t)
788
- q[:n] = a
789
-
790
- if isComplexType(t):
791
- lapack_routine = lapack_lite.zungqr
792
- routine_name = 'zungqr'
793
- else:
794
- lapack_routine = lapack_lite.dorgqr
795
- routine_name = 'dorgqr'
796
-
797
- # determine optimal lwork
798
- lwork = 1
799
- work = zeros((lwork,), t)
800
- results = lapack_routine(m, mc, mn, q, m, tau, work, -1, 0)
801
- if results['info'] != 0:
802
- raise LinAlgError('%s returns %d' % (routine_name, results['info']))
803
-
804
- # compute q
805
- lwork = int(abs(work[0]))
806
- work = zeros((lwork,), t)
807
- results = lapack_routine(m, mc, mn, q, m, tau, work, lwork, 0)
808
- if results['info'] != 0:
809
- raise LinAlgError('%s returns %d' % (routine_name, results['info']))
810
-
811
- q = _fastCopyAndTranspose(result_t, q[:mc])
812
- r = _fastCopyAndTranspose(result_t, a[:, :mc])
813
-
814
- return wrap(q), wrap(triu(r))
815
-
816
-
817
- # Eigenvalues
818
-
819
-
820
- def eigvals(a):
821
- """
822
- Compute the eigenvalues of a general matrix.
823
-
824
- Main difference between `eigvals` and `eig`: the eigenvectors aren't
825
- returned.
826
-
827
- Parameters
828
- ----------
829
- a : (..., M, M) array_like
830
- A complex- or real-valued matrix whose eigenvalues will be computed.
831
-
832
- Returns
833
- -------
834
- w : (..., M,) ndarray
835
- The eigenvalues, each repeated according to its multiplicity.
836
- They are not necessarily ordered, nor are they necessarily
837
- real for real matrices.
838
-
839
- Raises
840
- ------
841
- LinAlgError
842
- If the eigenvalue computation does not converge.
843
-
844
- See Also
845
- --------
846
- eig : eigenvalues and right eigenvectors of general arrays
847
- eigvalsh : eigenvalues of symmetric or Hermitian arrays.
848
- eigh : eigenvalues and eigenvectors of symmetric/Hermitian arrays.
849
-
850
- Notes
851
- -----
852
- Broadcasting rules apply, see the `numpy.linalg` documentation for
853
- details.
854
-
855
- This is implemented using the _geev LAPACK routines which compute
856
- the eigenvalues and eigenvectors of general square arrays.
857
-
858
- Examples
859
- --------
860
- Illustration, using the fact that the eigenvalues of a diagonal matrix
861
- are its diagonal elements, that multiplying a matrix on the left
862
- by an orthogonal matrix, `Q`, and on the right by `Q.T` (the transpose
863
- of `Q`), preserves the eigenvalues of the "middle" matrix. In other words,
864
- if `Q` is orthogonal, then ``Q * A * Q.T`` has the same eigenvalues as
865
- ``A``:
866
-
867
- >>> from numpy import linalg as LA
868
- >>> x = np.random.random()
869
- >>> Q = np.array([[np.cos(x), -np.sin(x)], [np.sin(x), np.cos(x)]])
870
- >>> LA.norm(Q[0, :]), LA.norm(Q[1, :]), np.dot(Q[0, :],Q[1, :])
871
- (1.0, 1.0, 0.0)
872
-
873
- Now multiply a diagonal matrix by Q on one side and by Q.T on the other:
874
-
875
- >>> D = np.diag((-1,1))
876
- >>> LA.eigvals(D)
877
- array([-1., 1.])
878
- >>> A = np.dot(Q, D)
879
- >>> A = np.dot(A, Q.T)
880
- >>> LA.eigvals(A)
881
- array([ 1., -1.])
882
-
883
- """
884
- a, wrap = _makearray(a)
885
- _assertNoEmpty2d(a)
886
- _assertRankAtLeast2(a)
887
- _assertNdSquareness(a)
888
- _assertFinite(a)
889
- t, result_t = _commonType(a)
890
-
891
- extobj = get_linalg_error_extobj(
892
- _raise_linalgerror_eigenvalues_nonconvergence)
893
- signature = 'D->D' if isComplexType(t) else 'd->D'
894
- w = _umath_linalg.eigvals(a, signature=signature, extobj=extobj)
895
-
896
- if not isComplexType(t):
897
- if all(w.imag == 0):
898
- w = w.real
899
- result_t = _realType(result_t)
900
- else:
901
- result_t = _complexType(result_t)
902
-
903
- return w.astype(result_t)
904
-
905
- def eigvalsh(a, UPLO='L'):
906
- """
907
- Compute the eigenvalues of a Hermitian or real symmetric matrix.
908
-
909
- Main difference from eigh: the eigenvectors are not computed.
910
-
911
- Parameters
912
- ----------
913
- a : (..., M, M) array_like
914
- A complex- or real-valued matrix whose eigenvalues are to be
915
- computed.
916
- UPLO : {'L', 'U'}, optional
917
- Same as `lower`, with 'L' for lower and 'U' for upper triangular.
918
- Deprecated.
919
-
920
- Returns
921
- -------
922
- w : (..., M,) ndarray
923
- The eigenvalues, not necessarily ordered, each repeated according to
924
- its multiplicity.
925
-
926
- Raises
927
- ------
928
- LinAlgError
929
- If the eigenvalue computation does not converge.
930
-
931
- See Also
932
- --------
933
- eigh : eigenvalues and eigenvectors of symmetric/Hermitian arrays.
934
- eigvals : eigenvalues of general real or complex arrays.
935
- eig : eigenvalues and right eigenvectors of general real or complex
936
- arrays.
937
-
938
- Notes
939
- -----
940
- Broadcasting rules apply, see the `numpy.linalg` documentation for
941
- details.
942
-
943
- The eigenvalues are computed using LAPACK routines _ssyevd, _heevd
944
-
945
- Examples
946
- --------
947
- >>> from numpy import linalg as LA
948
- >>> a = np.array([[1, -2j], [2j, 5]])
949
- >>> LA.eigvalsh(a)
950
- array([ 0.17157288+0.j, 5.82842712+0.j])
951
-
952
- """
953
- UPLO = UPLO.upper()
954
- if UPLO not in ('L', 'U'):
955
- raise ValueError("UPLO argument must be 'L' or 'U'")
956
-
957
- extobj = get_linalg_error_extobj(
958
- _raise_linalgerror_eigenvalues_nonconvergence)
959
- if UPLO == 'L':
960
- gufunc = _umath_linalg.eigvalsh_lo
961
- else:
962
- gufunc = _umath_linalg.eigvalsh_up
963
-
964
- a, wrap = _makearray(a)
965
- _assertNoEmpty2d(a)
966
- _assertRankAtLeast2(a)
967
- _assertNdSquareness(a)
968
- t, result_t = _commonType(a)
969
- signature = 'D->d' if isComplexType(t) else 'd->d'
970
- w = gufunc(a, signature=signature, extobj=extobj)
971
- return w.astype(_realType(result_t))
972
-
973
- def _convertarray(a):
974
- t, result_t = _commonType(a)
975
- a = _fastCT(a.astype(t))
976
- return a, t, result_t
977
-
978
-
979
- # Eigenvectors
980
-
981
-
982
- def eig(a):
983
- """
984
- Compute the eigenvalues and right eigenvectors of a square array.
985
-
986
- Parameters
987
- ----------
988
- a : (..., M, M) array
989
- Matrices for which the eigenvalues and right eigenvectors will
990
- be computed
991
-
992
- Returns
993
- -------
994
- w : (..., M) array
995
- The eigenvalues, each repeated according to its multiplicity.
996
- The eigenvalues are not necessarily ordered. The resulting
997
- array will be always be of complex type. When `a` is real
998
- the resulting eigenvalues will be real (0 imaginary part) or
999
- occur in conjugate pairs
1000
-
1001
- v : (..., M, M) array
1002
- The normalized (unit "length") eigenvectors, such that the
1003
- column ``v[:,i]`` is the eigenvector corresponding to the
1004
- eigenvalue ``w[i]``.
1005
-
1006
- Raises
1007
- ------
1008
- LinAlgError
1009
- If the eigenvalue computation does not converge.
1010
-
1011
- See Also
1012
- --------
1013
- eigvalsh : eigenvalues of a symmetric or Hermitian (conjugate symmetric)
1014
- array.
1015
-
1016
- eigvals : eigenvalues of a non-symmetric array.
1017
-
1018
- Notes
1019
- -----
1020
- Broadcasting rules apply, see the `numpy.linalg` documentation for
1021
- details.
1022
-
1023
- This is implemented using the _geev LAPACK routines which compute
1024
- the eigenvalues and eigenvectors of general square arrays.
1025
-
1026
- The number `w` is an eigenvalue of `a` if there exists a vector
1027
- `v` such that ``dot(a,v) = w * v``. Thus, the arrays `a`, `w`, and
1028
- `v` satisfy the equations ``dot(a[:,:], v[:,i]) = w[i] * v[:,i]``
1029
- for :math:`i \\in \\{0,...,M-1\\}`.
1030
-
1031
- The array `v` of eigenvectors may not be of maximum rank, that is, some
1032
- of the columns may be linearly dependent, although round-off error may
1033
- obscure that fact. If the eigenvalues are all different, then theoretically
1034
- the eigenvectors are linearly independent. Likewise, the (complex-valued)
1035
- matrix of eigenvectors `v` is unitary if the matrix `a` is normal, i.e.,
1036
- if ``dot(a, a.H) = dot(a.H, a)``, where `a.H` denotes the conjugate
1037
- transpose of `a`.
1038
-
1039
- Finally, it is emphasized that `v` consists of the *right* (as in
1040
- right-hand side) eigenvectors of `a`. A vector `y` satisfying
1041
- ``dot(y.T, a) = z * y.T`` for some number `z` is called a *left*
1042
- eigenvector of `a`, and, in general, the left and right eigenvectors
1043
- of a matrix are not necessarily the (perhaps conjugate) transposes
1044
- of each other.
1045
-
1046
- References
1047
- ----------
1048
- G. Strang, *Linear Algebra and Its Applications*, 2nd Ed., Orlando, FL,
1049
- Academic Press, Inc., 1980, Various pp.
1050
-
1051
- Examples
1052
- --------
1053
- >>> from numpy import linalg as LA
1054
-
1055
- (Almost) trivial example with real e-values and e-vectors.
1056
-
1057
- >>> w, v = LA.eig(np.diag((1, 2, 3)))
1058
- >>> w; v
1059
- array([ 1., 2., 3.])
1060
- array([[ 1., 0., 0.],
1061
- [ 0., 1., 0.],
1062
- [ 0., 0., 1.]])
1063
-
1064
- Real matrix possessing complex e-values and e-vectors; note that the
1065
- e-values are complex conjugates of each other.
1066
-
1067
- >>> w, v = LA.eig(np.array([[1, -1], [1, 1]]))
1068
- >>> w; v
1069
- array([ 1. + 1.j, 1. - 1.j])
1070
- array([[ 0.70710678+0.j , 0.70710678+0.j ],
1071
- [ 0.00000000-0.70710678j, 0.00000000+0.70710678j]])
1072
-
1073
- Complex-valued matrix with real e-values (but complex-valued e-vectors);
1074
- note that a.conj().T = a, i.e., a is Hermitian.
1075
-
1076
- >>> a = np.array([[1, 1j], [-1j, 1]])
1077
- >>> w, v = LA.eig(a)
1078
- >>> w; v
1079
- array([ 2.00000000e+00+0.j, 5.98651912e-36+0.j]) # i.e., {2, 0}
1080
- array([[ 0.00000000+0.70710678j, 0.70710678+0.j ],
1081
- [ 0.70710678+0.j , 0.00000000+0.70710678j]])
1082
-
1083
- Be careful about round-off error!
1084
-
1085
- >>> a = np.array([[1 + 1e-9, 0], [0, 1 - 1e-9]])
1086
- >>> # Theor. e-values are 1 +/- 1e-9
1087
- >>> w, v = LA.eig(a)
1088
- >>> w; v
1089
- array([ 1., 1.])
1090
- array([[ 1., 0.],
1091
- [ 0., 1.]])
1092
-
1093
- """
1094
- a, wrap = _makearray(a)
1095
- _assertRankAtLeast2(a)
1096
- _assertNdSquareness(a)
1097
- _assertFinite(a)
1098
- t, result_t = _commonType(a)
1099
-
1100
- extobj = get_linalg_error_extobj(
1101
- _raise_linalgerror_eigenvalues_nonconvergence)
1102
- signature = 'D->DD' if isComplexType(t) else 'd->DD'
1103
- w, vt = _umath_linalg.eig(a, signature=signature, extobj=extobj)
1104
-
1105
- if not isComplexType(t) and all(w.imag == 0.0):
1106
- w = w.real
1107
- vt = vt.real
1108
- result_t = _realType(result_t)
1109
- else:
1110
- result_t = _complexType(result_t)
1111
-
1112
- vt = vt.astype(result_t)
1113
- return w.astype(result_t), wrap(vt)
1114
-
1115
-
1116
- def eigh(a, UPLO='L'):
1117
- """
1118
- Return the eigenvalues and eigenvectors of a Hermitian or symmetric matrix.
1119
-
1120
- Returns two objects, a 1-D array containing the eigenvalues of `a`, and
1121
- a 2-D square array or matrix (depending on the input type) of the
1122
- corresponding eigenvectors (in columns).
1123
-
1124
- Parameters
1125
- ----------
1126
- A : (..., M, M) array
1127
- Hermitian/Symmetric matrices whose eigenvalues and
1128
- eigenvectors are to be computed.
1129
- UPLO : {'L', 'U'}, optional
1130
- Specifies whether the calculation is done with the lower triangular
1131
- part of `a` ('L', default) or the upper triangular part ('U').
1132
-
1133
- Returns
1134
- -------
1135
- w : (..., M) ndarray
1136
- The eigenvalues, not necessarily ordered.
1137
- v : {(..., M, M) ndarray, (..., M, M) matrix}
1138
- The column ``v[:, i]`` is the normalized eigenvector corresponding
1139
- to the eigenvalue ``w[i]``. Will return a matrix object if `a` is
1140
- a matrix object.
1141
-
1142
- Raises
1143
- ------
1144
- LinAlgError
1145
- If the eigenvalue computation does not converge.
1146
-
1147
- See Also
1148
- --------
1149
- eigvalsh : eigenvalues of symmetric or Hermitian arrays.
1150
- eig : eigenvalues and right eigenvectors for non-symmetric arrays.
1151
- eigvals : eigenvalues of non-symmetric arrays.
1152
-
1153
- Notes
1154
- -----
1155
- Broadcasting rules apply, see the `numpy.linalg` documentation for
1156
- details.
1157
-
1158
- The eigenvalues/eigenvectors are computed using LAPACK routines _ssyevd,
1159
- _heevd
1160
-
1161
- The eigenvalues of real symmetric or complex Hermitian matrices are
1162
- always real. [1]_ The array `v` of (column) eigenvectors is unitary
1163
- and `a`, `w`, and `v` satisfy the equations
1164
- ``dot(a, v[:, i]) = w[i] * v[:, i]``.
1165
-
1166
- References
1167
- ----------
1168
- .. [1] G. Strang, *Linear Algebra and Its Applications*, 2nd Ed., Orlando,
1169
- FL, Academic Press, Inc., 1980, pg. 222.
1170
-
1171
- Examples
1172
- --------
1173
- >>> from numpy import linalg as LA
1174
- >>> a = np.array([[1, -2j], [2j, 5]])
1175
- >>> a
1176
- array([[ 1.+0.j, 0.-2.j],
1177
- [ 0.+2.j, 5.+0.j]])
1178
- >>> w, v = LA.eigh(a)
1179
- >>> w; v
1180
- array([ 0.17157288, 5.82842712])
1181
- array([[-0.92387953+0.j , -0.38268343+0.j ],
1182
- [ 0.00000000+0.38268343j, 0.00000000-0.92387953j]])
1183
-
1184
- >>> np.dot(a, v[:, 0]) - w[0] * v[:, 0] # verify 1st e-val/vec pair
1185
- array([2.77555756e-17 + 0.j, 0. + 1.38777878e-16j])
1186
- >>> np.dot(a, v[:, 1]) - w[1] * v[:, 1] # verify 2nd e-val/vec pair
1187
- array([ 0.+0.j, 0.+0.j])
1188
-
1189
- >>> A = np.matrix(a) # what happens if input is a matrix object
1190
- >>> A
1191
- matrix([[ 1.+0.j, 0.-2.j],
1192
- [ 0.+2.j, 5.+0.j]])
1193
- >>> w, v = LA.eigh(A)
1194
- >>> w; v
1195
- array([ 0.17157288, 5.82842712])
1196
- matrix([[-0.92387953+0.j , -0.38268343+0.j ],
1197
- [ 0.00000000+0.38268343j, 0.00000000-0.92387953j]])
1198
-
1199
- """
1200
- UPLO = UPLO.upper()
1201
- if UPLO not in ('L', 'U'):
1202
- raise ValueError("UPLO argument must be 'L' or 'U'")
1203
-
1204
- a, wrap = _makearray(a)
1205
- _assertRankAtLeast2(a)
1206
- _assertNdSquareness(a)
1207
- t, result_t = _commonType(a)
1208
-
1209
- extobj = get_linalg_error_extobj(
1210
- _raise_linalgerror_eigenvalues_nonconvergence)
1211
- if UPLO == 'L':
1212
- gufunc = _umath_linalg.eigh_lo
1213
- else:
1214
- gufunc = _umath_linalg.eigh_up
1215
-
1216
- signature = 'D->dD' if isComplexType(t) else 'd->dd'
1217
- w, vt = gufunc(a, signature=signature, extobj=extobj)
1218
- w = w.astype(_realType(result_t))
1219
- vt = vt.astype(result_t)
1220
- return w, wrap(vt)
1221
-
1222
-
1223
- # Singular value decomposition
1224
-
1225
- def svd(a, full_matrices=1, compute_uv=1):
1226
- """
1227
- Singular Value Decomposition.
1228
-
1229
- Factors the matrix `a` as ``u * np.diag(s) * v``, where `u` and `v`
1230
- are unitary and `s` is a 1-d array of `a`'s singular values.
1231
-
1232
- Parameters
1233
- ----------
1234
- a : (..., M, N) array_like
1235
- A real or complex matrix of shape (`M`, `N`) .
1236
- full_matrices : bool, optional
1237
- If True (default), `u` and `v` have the shapes (`M`, `M`) and
1238
- (`N`, `N`), respectively. Otherwise, the shapes are (`M`, `K`)
1239
- and (`K`, `N`), respectively, where `K` = min(`M`, `N`).
1240
- compute_uv : bool, optional
1241
- Whether or not to compute `u` and `v` in addition to `s`. True
1242
- by default.
1243
-
1244
- Returns
1245
- -------
1246
- u : { (..., M, M), (..., M, K) } array
1247
- Unitary matrices. The actual shape depends on the value of
1248
- ``full_matrices``. Only returned when ``compute_uv`` is True.
1249
- s : (..., K) array
1250
- The singular values for every matrix, sorted in descending order.
1251
- v : { (..., N, N), (..., K, N) } array
1252
- Unitary matrices. The actual shape depends on the value of
1253
- ``full_matrices``. Only returned when ``compute_uv`` is True.
1254
-
1255
- Raises
1256
- ------
1257
- LinAlgError
1258
- If SVD computation does not converge.
1259
-
1260
- Notes
1261
- -----
1262
- Broadcasting rules apply, see the `numpy.linalg` documentation for
1263
- details.
1264
-
1265
- The decomposition is performed using LAPACK routine _gesdd
1266
-
1267
- The SVD is commonly written as ``a = U S V.H``. The `v` returned
1268
- by this function is ``V.H`` and ``u = U``.
1269
-
1270
- If ``U`` is a unitary matrix, it means that it
1271
- satisfies ``U.H = inv(U)``.
1272
-
1273
- The rows of `v` are the eigenvectors of ``a.H a``. The columns
1274
- of `u` are the eigenvectors of ``a a.H``. For row ``i`` in
1275
- `v` and column ``i`` in `u`, the corresponding eigenvalue is
1276
- ``s[i]**2``.
1277
-
1278
- If `a` is a `matrix` object (as opposed to an `ndarray`), then so
1279
- are all the return values.
1280
-
1281
- Examples
1282
- --------
1283
- >>> a = np.random.randn(9, 6) + 1j*np.random.randn(9, 6)
1284
-
1285
- Reconstruction based on full SVD:
1286
-
1287
- >>> U, s, V = np.linalg.svd(a, full_matrices=True)
1288
- >>> U.shape, V.shape, s.shape
1289
- ((9, 9), (6, 6), (6,))
1290
- >>> S = np.zeros((9, 6), dtype=complex)
1291
- >>> S[:6, :6] = np.diag(s)
1292
- >>> np.allclose(a, np.dot(U, np.dot(S, V)))
1293
- True
1294
-
1295
- Reconstruction based on reduced SVD:
1296
-
1297
- >>> U, s, V = np.linalg.svd(a, full_matrices=False)
1298
- >>> U.shape, V.shape, s.shape
1299
- ((9, 6), (6, 6), (6,))
1300
- >>> S = np.diag(s)
1301
- >>> np.allclose(a, np.dot(U, np.dot(S, V)))
1302
- True
1303
-
1304
- """
1305
- a, wrap = _makearray(a)
1306
- _assertNoEmpty2d(a)
1307
- _assertRankAtLeast2(a)
1308
- t, result_t = _commonType(a)
1309
-
1310
- extobj = get_linalg_error_extobj(_raise_linalgerror_svd_nonconvergence)
1311
-
1312
- m = a.shape[-2]
1313
- n = a.shape[-1]
1314
- if compute_uv:
1315
- if full_matrices:
1316
- if m < n:
1317
- gufunc = _umath_linalg.svd_m_f
1318
- else:
1319
- gufunc = _umath_linalg.svd_n_f
1320
- else:
1321
- if m < n:
1322
- gufunc = _umath_linalg.svd_m_s
1323
- else:
1324
- gufunc = _umath_linalg.svd_n_s
1325
-
1326
- signature = 'D->DdD' if isComplexType(t) else 'd->ddd'
1327
- u, s, vt = gufunc(a, signature=signature, extobj=extobj)
1328
- u = u.astype(result_t)
1329
- s = s.astype(_realType(result_t))
1330
- vt = vt.astype(result_t)
1331
- return wrap(u), s, wrap(vt)
1332
- else:
1333
- if m < n:
1334
- gufunc = _umath_linalg.svd_m
1335
- else:
1336
- gufunc = _umath_linalg.svd_n
1337
-
1338
- signature = 'D->d' if isComplexType(t) else 'd->d'
1339
- s = gufunc(a, signature=signature, extobj=extobj)
1340
- s = s.astype(_realType(result_t))
1341
- return s
1342
-
1343
- def cond(x, p=None):
1344
- """
1345
- Compute the condition number of a matrix.
1346
-
1347
- This function is capable of returning the condition number using
1348
- one of seven different norms, depending on the value of `p` (see
1349
- Parameters below).
1350
-
1351
- Parameters
1352
- ----------
1353
- x : (M, N) array_like
1354
- The matrix whose condition number is sought.
1355
- p : {None, 1, -1, 2, -2, inf, -inf, 'fro'}, optional
1356
- Order of the norm:
1357
-
1358
- ===== ============================
1359
- p norm for matrices
1360
- ===== ============================
1361
- None 2-norm, computed directly using the ``SVD``
1362
- 'fro' Frobenius norm
1363
- inf max(sum(abs(x), axis=1))
1364
- -inf min(sum(abs(x), axis=1))
1365
- 1 max(sum(abs(x), axis=0))
1366
- -1 min(sum(abs(x), axis=0))
1367
- 2 2-norm (largest sing. value)
1368
- -2 smallest singular value
1369
- ===== ============================
1370
-
1371
- inf means the numpy.inf object, and the Frobenius norm is
1372
- the root-of-sum-of-squares norm.
1373
-
1374
- Returns
1375
- -------
1376
- c : {float, inf}
1377
- The condition number of the matrix. May be infinite.
1378
-
1379
- See Also
1380
- --------
1381
- numpy.linalg.norm
1382
-
1383
- Notes
1384
- -----
1385
- The condition number of `x` is defined as the norm of `x` times the
1386
- norm of the inverse of `x` [1]_; the norm can be the usual L2-norm
1387
- (root-of-sum-of-squares) or one of a number of other matrix norms.
1388
-
1389
- References
1390
- ----------
1391
- .. [1] G. Strang, *Linear Algebra and Its Applications*, Orlando, FL,
1392
- Academic Press, Inc., 1980, pg. 285.
1393
-
1394
- Examples
1395
- --------
1396
- >>> from numpy import linalg as LA
1397
- >>> a = np.array([[1, 0, -1], [0, 1, 0], [1, 0, 1]])
1398
- >>> a
1399
- array([[ 1, 0, -1],
1400
- [ 0, 1, 0],
1401
- [ 1, 0, 1]])
1402
- >>> LA.cond(a)
1403
- 1.4142135623730951
1404
- >>> LA.cond(a, 'fro')
1405
- 3.1622776601683795
1406
- >>> LA.cond(a, np.inf)
1407
- 2.0
1408
- >>> LA.cond(a, -np.inf)
1409
- 1.0
1410
- >>> LA.cond(a, 1)
1411
- 2.0
1412
- >>> LA.cond(a, -1)
1413
- 1.0
1414
- >>> LA.cond(a, 2)
1415
- 1.4142135623730951
1416
- >>> LA.cond(a, -2)
1417
- 0.70710678118654746
1418
- >>> min(LA.svd(a, compute_uv=0))*min(LA.svd(LA.inv(a), compute_uv=0))
1419
- 0.70710678118654746
1420
-
1421
- """
1422
- x = asarray(x) # in case we have a matrix
1423
- if p is None:
1424
- s = svd(x, compute_uv=False)
1425
- return s[0]/s[-1]
1426
- else:
1427
- return norm(x, p)*norm(inv(x), p)
1428
-
1429
-
1430
- def matrix_rank(M, tol=None):
1431
- """
1432
- Return matrix rank of array using SVD method
1433
-
1434
- Rank of the array is the number of SVD singular values of the array that are
1435
- greater than `tol`.
1436
-
1437
- Parameters
1438
- ----------
1439
- M : {(M,), (M, N)} array_like
1440
- array of <=2 dimensions
1441
- tol : {None, float}, optional
1442
- threshold below which SVD values are considered zero. If `tol` is
1443
- None, and ``S`` is an array with singular values for `M`, and
1444
- ``eps`` is the epsilon value for datatype of ``S``, then `tol` is
1445
- set to ``S.max() * max(M.shape) * eps``.
1446
-
1447
- Notes
1448
- -----
1449
- The default threshold to detect rank deficiency is a test on the magnitude
1450
- of the singular values of `M`. By default, we identify singular values less
1451
- than ``S.max() * max(M.shape) * eps`` as indicating rank deficiency (with
1452
- the symbols defined above). This is the algorithm MATLAB uses [1]. It also
1453
- appears in *Numerical recipes* in the discussion of SVD solutions for linear
1454
- least squares [2].
1455
-
1456
- This default threshold is designed to detect rank deficiency accounting for
1457
- the numerical errors of the SVD computation. Imagine that there is a column
1458
- in `M` that is an exact (in floating point) linear combination of other
1459
- columns in `M`. Computing the SVD on `M` will not produce a singular value
1460
- exactly equal to 0 in general: any difference of the smallest SVD value from
1461
- 0 will be caused by numerical imprecision in the calculation of the SVD.
1462
- Our threshold for small SVD values takes this numerical imprecision into
1463
- account, and the default threshold will detect such numerical rank
1464
- deficiency. The threshold may declare a matrix `M` rank deficient even if
1465
- the linear combination of some columns of `M` is not exactly equal to
1466
- another column of `M` but only numerically very close to another column of
1467
- `M`.
1468
-
1469
- We chose our default threshold because it is in wide use. Other thresholds
1470
- are possible. For example, elsewhere in the 2007 edition of *Numerical
1471
- recipes* there is an alternative threshold of ``S.max() *
1472
- np.finfo(M.dtype).eps / 2. * np.sqrt(m + n + 1.)``. The authors describe
1473
- this threshold as being based on "expected roundoff error" (p 71).
1474
-
1475
- The thresholds above deal with floating point roundoff error in the
1476
- calculation of the SVD. However, you may have more information about the
1477
- sources of error in `M` that would make you consider other tolerance values
1478
- to detect *effective* rank deficiency. The most useful measure of the
1479
- tolerance depends on the operations you intend to use on your matrix. For
1480
- example, if your data come from uncertain measurements with uncertainties
1481
- greater than floating point epsilon, choosing a tolerance near that
1482
- uncertainty may be preferable. The tolerance may be absolute if the
1483
- uncertainties are absolute rather than relative.
1484
-
1485
- References
1486
- ----------
1487
- .. [1] MATLAB reference documention, "Rank"
1488
- http://www.mathworks.com/help/techdoc/ref/rank.html
1489
- .. [2] W. H. Press, S. A. Teukolsky, W. T. Vetterling and B. P. Flannery,
1490
- "Numerical Recipes (3rd edition)", Cambridge University Press, 2007,
1491
- page 795.
1492
-
1493
- Examples
1494
- --------
1495
- >>> from numpy.linalg import matrix_rank
1496
- >>> matrix_rank(np.eye(4)) # Full rank matrix
1497
- 4
1498
- >>> I=np.eye(4); I[-1,-1] = 0. # rank deficient matrix
1499
- >>> matrix_rank(I)
1500
- 3
1501
- >>> matrix_rank(np.ones((4,))) # 1 dimension - rank 1 unless all 0
1502
- 1
1503
- >>> matrix_rank(np.zeros((4,)))
1504
- 0
1505
- """
1506
- M = asarray(M)
1507
- if M.ndim > 2:
1508
- raise TypeError('array should have 2 or fewer dimensions')
1509
- if M.ndim < 2:
1510
- return int(not all(M==0))
1511
- S = svd(M, compute_uv=False)
1512
- if tol is None:
1513
- tol = S.max() * max(M.shape) * finfo(S.dtype).eps
1514
- return sum(S > tol)
1515
-
1516
-
1517
- # Generalized inverse
1518
-
1519
- def pinv(a, rcond=1e-15 ):
1520
- """
1521
- Compute the (Moore-Penrose) pseudo-inverse of a matrix.
1522
-
1523
- Calculate the generalized inverse of a matrix using its
1524
- singular-value decomposition (SVD) and including all
1525
- *large* singular values.
1526
-
1527
- Parameters
1528
- ----------
1529
- a : (M, N) array_like
1530
- Matrix to be pseudo-inverted.
1531
- rcond : float
1532
- Cutoff for small singular values.
1533
- Singular values smaller (in modulus) than
1534
- `rcond` * largest_singular_value (again, in modulus)
1535
- are set to zero.
1536
-
1537
- Returns
1538
- -------
1539
- B : (N, M) ndarray
1540
- The pseudo-inverse of `a`. If `a` is a `matrix` instance, then so
1541
- is `B`.
1542
-
1543
- Raises
1544
- ------
1545
- LinAlgError
1546
- If the SVD computation does not converge.
1547
-
1548
- Notes
1549
- -----
1550
- The pseudo-inverse of a matrix A, denoted :math:`A^+`, is
1551
- defined as: "the matrix that 'solves' [the least-squares problem]
1552
- :math:`Ax = b`," i.e., if :math:`\\bar{x}` is said solution, then
1553
- :math:`A^+` is that matrix such that :math:`\\bar{x} = A^+b`.
1554
-
1555
- It can be shown that if :math:`Q_1 \\Sigma Q_2^T = A` is the singular
1556
- value decomposition of A, then
1557
- :math:`A^+ = Q_2 \\Sigma^+ Q_1^T`, where :math:`Q_{1,2}` are
1558
- orthogonal matrices, :math:`\\Sigma` is a diagonal matrix consisting
1559
- of A's so-called singular values, (followed, typically, by
1560
- zeros), and then :math:`\\Sigma^+` is simply the diagonal matrix
1561
- consisting of the reciprocals of A's singular values
1562
- (again, followed by zeros). [1]_
1563
-
1564
- References
1565
- ----------
1566
- .. [1] G. Strang, *Linear Algebra and Its Applications*, 2nd Ed., Orlando,
1567
- FL, Academic Press, Inc., 1980, pp. 139-142.
1568
-
1569
- Examples
1570
- --------
1571
- The following example checks that ``a * a+ * a == a`` and
1572
- ``a+ * a * a+ == a+``:
1573
-
1574
- >>> a = np.random.randn(9, 6)
1575
- >>> B = np.linalg.pinv(a)
1576
- >>> np.allclose(a, np.dot(a, np.dot(B, a)))
1577
- True
1578
- >>> np.allclose(B, np.dot(B, np.dot(a, B)))
1579
- True
1580
-
1581
- """
1582
- a, wrap = _makearray(a)
1583
- _assertNoEmpty2d(a)
1584
- a = a.conjugate()
1585
- u, s, vt = svd(a, 0)
1586
- m = u.shape[0]
1587
- n = vt.shape[1]
1588
- cutoff = rcond*maximum.reduce(s)
1589
- for i in range(min(n, m)):
1590
- if s[i] > cutoff:
1591
- s[i] = 1./s[i]
1592
- else:
1593
- s[i] = 0.;
1594
- res = dot(transpose(vt), multiply(s[:, newaxis], transpose(u)))
1595
- return wrap(res)
1596
-
1597
- # Determinant
1598
-
1599
- def slogdet(a):
1600
- """
1601
- Compute the sign and (natural) logarithm of the determinant of an array.
1602
-
1603
- If an array has a very small or very large determinant, than a call to
1604
- `det` may overflow or underflow. This routine is more robust against such
1605
- issues, because it computes the logarithm of the determinant rather than
1606
- the determinant itself.
1607
-
1608
- Parameters
1609
- ----------
1610
- a : (..., M, M) array_like
1611
- Input array, has to be a square 2-D array.
1612
-
1613
- Returns
1614
- -------
1615
- sign : (...) array_like
1616
- A number representing the sign of the determinant. For a real matrix,
1617
- this is 1, 0, or -1. For a complex matrix, this is a complex number
1618
- with absolute value 1 (i.e., it is on the unit circle), or else 0.
1619
- logdet : (...) array_like
1620
- The natural log of the absolute value of the determinant.
1621
-
1622
- If the determinant is zero, then `sign` will be 0 and `logdet` will be
1623
- -Inf. In all cases, the determinant is equal to ``sign * np.exp(logdet)``.
1624
-
1625
- See Also
1626
- --------
1627
- det
1628
-
1629
- Notes
1630
- -----
1631
- Broadcasting rules apply, see the `numpy.linalg` documentation for
1632
- details.
1633
-
1634
- The determinant is computed via LU factorization using the LAPACK
1635
- routine z/dgetrf.
1636
-
1637
- .. versionadded:: 1.6.0.
1638
-
1639
- Examples
1640
- --------
1641
- The determinant of a 2-D array ``[[a, b], [c, d]]`` is ``ad - bc``:
1642
-
1643
- >>> a = np.array([[1, 2], [3, 4]])
1644
- >>> (sign, logdet) = np.linalg.slogdet(a)
1645
- >>> (sign, logdet)
1646
- (-1, 0.69314718055994529)
1647
- >>> sign * np.exp(logdet)
1648
- -2.0
1649
-
1650
- Computing log-determinants for a stack of matrices:
1651
-
1652
- >>> a = np.array([ [[1, 2], [3, 4]], [[1, 2], [2, 1]], [[1, 3], [3, 1]] ])
1653
- >>> a.shape
1654
- (3, 2, 2)
1655
- >>> sign, logdet = np.linalg.slogdet(a)
1656
- >>> (sign, logdet)
1657
- (array([-1., -1., -1.]), array([ 0.69314718, 1.09861229, 2.07944154]))
1658
- >>> sign * np.exp(logdet)
1659
- array([-2., -3., -8.])
1660
-
1661
- This routine succeeds where ordinary `det` does not:
1662
-
1663
- >>> np.linalg.det(np.eye(500) * 0.1)
1664
- 0.0
1665
- >>> np.linalg.slogdet(np.eye(500) * 0.1)
1666
- (1, -1151.2925464970228)
1667
-
1668
- """
1669
- a = asarray(a)
1670
- _assertNoEmpty2d(a)
1671
- _assertRankAtLeast2(a)
1672
- _assertNdSquareness(a)
1673
- t, result_t = _commonType(a)
1674
- real_t = _realType(result_t)
1675
- signature = 'D->Dd' if isComplexType(t) else 'd->dd'
1676
- sign, logdet = _umath_linalg.slogdet(a, signature=signature)
1677
- return sign.astype(result_t), logdet.astype(real_t)
1678
-
1679
- def det(a):
1680
- """
1681
- Compute the determinant of an array.
1682
-
1683
- Parameters
1684
- ----------
1685
- a : (..., M, M) array_like
1686
- Input array to compute determinants for.
1687
-
1688
- Returns
1689
- -------
1690
- det : (...) array_like
1691
- Determinant of `a`.
1692
-
1693
- See Also
1694
- --------
1695
- slogdet : Another way to representing the determinant, more suitable
1696
- for large matrices where underflow/overflow may occur.
1697
-
1698
- Notes
1699
- -----
1700
- Broadcasting rules apply, see the `numpy.linalg` documentation for
1701
- details.
1702
-
1703
- The determinant is computed via LU factorization using the LAPACK
1704
- routine z/dgetrf.
1705
-
1706
- Examples
1707
- --------
1708
- The determinant of a 2-D array [[a, b], [c, d]] is ad - bc:
1709
-
1710
- >>> a = np.array([[1, 2], [3, 4]])
1711
- >>> np.linalg.det(a)
1712
- -2.0
1713
-
1714
- Computing determinants for a stack of matrices:
1715
-
1716
- >>> a = np.array([ [[1, 2], [3, 4]], [[1, 2], [2, 1]], [[1, 3], [3, 1]] ])
1717
- >>> a.shape
1718
- (2, 2, 2
1719
- >>> np.linalg.det(a)
1720
- array([-2., -3., -8.])
1721
-
1722
- """
1723
- a = asarray(a)
1724
- _assertNoEmpty2d(a)
1725
- _assertRankAtLeast2(a)
1726
- _assertNdSquareness(a)
1727
- t, result_t = _commonType(a)
1728
- signature = 'D->D' if isComplexType(t) else 'd->d'
1729
- return _umath_linalg.det(a, signature=signature).astype(result_t)
1730
-
1731
- # Linear Least Squares
1732
-
1733
- def lstsq(a, b, rcond=-1):
1734
- """
1735
- Return the least-squares solution to a linear matrix equation.
1736
-
1737
- Solves the equation `a x = b` by computing a vector `x` that
1738
- minimizes the Euclidean 2-norm `|| b - a x ||^2`. The equation may
1739
- be under-, well-, or over- determined (i.e., the number of
1740
- linearly independent rows of `a` can be less than, equal to, or
1741
- greater than its number of linearly independent columns). If `a`
1742
- is square and of full rank, then `x` (but for round-off error) is
1743
- the "exact" solution of the equation.
1744
-
1745
- Parameters
1746
- ----------
1747
- a : (M, N) array_like
1748
- "Coefficient" matrix.
1749
- b : {(M,), (M, K)} array_like
1750
- Ordinate or "dependent variable" values. If `b` is two-dimensional,
1751
- the least-squares solution is calculated for each of the `K` columns
1752
- of `b`.
1753
- rcond : float, optional
1754
- Cut-off ratio for small singular values of `a`.
1755
- Singular values are set to zero if they are smaller than `rcond`
1756
- times the largest singular value of `a`.
1757
-
1758
- Returns
1759
- -------
1760
- x : {(N,), (N, K)} ndarray
1761
- Least-squares solution. If `b` is two-dimensional,
1762
- the solutions are in the `K` columns of `x`.
1763
- residuals : {(), (1,), (K,)} ndarray
1764
- Sums of residuals; squared Euclidean 2-norm for each column in
1765
- ``b - a*x``.
1766
- If the rank of `a` is < N or M <= N, this is an empty array.
1767
- If `b` is 1-dimensional, this is a (1,) shape array.
1768
- Otherwise the shape is (K,).
1769
- rank : int
1770
- Rank of matrix `a`.
1771
- s : (min(M, N),) ndarray
1772
- Singular values of `a`.
1773
-
1774
- Raises
1775
- ------
1776
- LinAlgError
1777
- If computation does not converge.
1778
-
1779
- Notes
1780
- -----
1781
- If `b` is a matrix, then all array results are returned as matrices.
1782
-
1783
- Examples
1784
- --------
1785
- Fit a line, ``y = mx + c``, through some noisy data-points:
1786
-
1787
- >>> x = np.array([0, 1, 2, 3])
1788
- >>> y = np.array([-1, 0.2, 0.9, 2.1])
1789
-
1790
- By examining the coefficients, we see that the line should have a
1791
- gradient of roughly 1 and cut the y-axis at, more or less, -1.
1792
-
1793
- We can rewrite the line equation as ``y = Ap``, where ``A = [[x 1]]``
1794
- and ``p = [[m], [c]]``. Now use `lstsq` to solve for `p`:
1795
-
1796
- >>> A = np.vstack([x, np.ones(len(x))]).T
1797
- >>> A
1798
- array([[ 0., 1.],
1799
- [ 1., 1.],
1800
- [ 2., 1.],
1801
- [ 3., 1.]])
1802
-
1803
- >>> m, c = np.linalg.lstsq(A, y)[0]
1804
- >>> print m, c
1805
- 1.0 -0.95
1806
-
1807
- Plot the data along with the fitted line:
1808
-
1809
- >>> import matplotlib.pyplot as plt
1810
- >>> plt.plot(x, y, 'o', label='Original data', markersize=10)
1811
- >>> plt.plot(x, m*x + c, 'r', label='Fitted line')
1812
- >>> plt.legend()
1813
- >>> plt.show()
1814
-
1815
- """
1816
- import math
1817
- a, _ = _makearray(a)
1818
- b, wrap = _makearray(b)
1819
- is_1d = len(b.shape) == 1
1820
- if is_1d:
1821
- b = b[:, newaxis]
1822
- _assertRank2(a, b)
1823
- m = a.shape[0]
1824
- n = a.shape[1]
1825
- n_rhs = b.shape[1]
1826
- ldb = max(n, m)
1827
- if m != b.shape[0]:
1828
- raise LinAlgError('Incompatible dimensions')
1829
- t, result_t = _commonType(a, b)
1830
- result_real_t = _realType(result_t)
1831
- real_t = _linalgRealType(t)
1832
- bstar = zeros((ldb, n_rhs), t)
1833
- bstar[:b.shape[0], :n_rhs] = b.copy()
1834
- a, bstar = _fastCopyAndTranspose(t, a, bstar)
1835
- a, bstar = _to_native_byte_order(a, bstar)
1836
- s = zeros((min(m, n),), real_t)
1837
- nlvl = max( 0, int( math.log( float(min(m, n))/2. ) ) + 1 )
1838
- iwork = zeros((3*min(m, n)*nlvl+11*min(m, n),), fortran_int)
1839
- if isComplexType(t):
1840
- lapack_routine = lapack_lite.zgelsd
1841
- lwork = 1
1842
- rwork = zeros((lwork,), real_t)
1843
- work = zeros((lwork,), t)
1844
- results = lapack_routine(m, n, n_rhs, a, m, bstar, ldb, s, rcond,
1845
- 0, work, -1, rwork, iwork, 0)
1846
- lwork = int(abs(work[0]))
1847
- rwork = zeros((lwork,), real_t)
1848
- a_real = zeros((m, n), real_t)
1849
- bstar_real = zeros((ldb, n_rhs,), real_t)
1850
- results = lapack_lite.dgelsd(m, n, n_rhs, a_real, m,
1851
- bstar_real, ldb, s, rcond,
1852
- 0, rwork, -1, iwork, 0)
1853
- lrwork = int(rwork[0])
1854
- work = zeros((lwork,), t)
1855
- rwork = zeros((lrwork,), real_t)
1856
- results = lapack_routine(m, n, n_rhs, a, m, bstar, ldb, s, rcond,
1857
- 0, work, lwork, rwork, iwork, 0)
1858
- else:
1859
- lapack_routine = lapack_lite.dgelsd
1860
- lwork = 1
1861
- work = zeros((lwork,), t)
1862
- results = lapack_routine(m, n, n_rhs, a, m, bstar, ldb, s, rcond,
1863
- 0, work, -1, iwork, 0)
1864
- lwork = int(work[0])
1865
- work = zeros((lwork,), t)
1866
- results = lapack_routine(m, n, n_rhs, a, m, bstar, ldb, s, rcond,
1867
- 0, work, lwork, iwork, 0)
1868
- if results['info'] > 0:
1869
- raise LinAlgError('SVD did not converge in Linear Least Squares')
1870
- resids = array([], result_real_t)
1871
- if is_1d:
1872
- x = array(ravel(bstar)[:n], dtype=result_t, copy=True)
1873
- if results['rank'] == n and m > n:
1874
- if isComplexType(t):
1875
- resids = array([sum(abs(ravel(bstar)[n:])**2)],
1876
- dtype=result_real_t)
1877
- else:
1878
- resids = array([sum((ravel(bstar)[n:])**2)],
1879
- dtype=result_real_t)
1880
- else:
1881
- x = array(transpose(bstar)[:n,:], dtype=result_t, copy=True)
1882
- if results['rank'] == n and m > n:
1883
- if isComplexType(t):
1884
- resids = sum(abs(transpose(bstar)[n:,:])**2, axis=0).astype(
1885
- result_real_t)
1886
- else:
1887
- resids = sum((transpose(bstar)[n:,:])**2, axis=0).astype(
1888
- result_real_t)
1889
-
1890
- st = s[:min(n, m)].copy().astype(result_real_t)
1891
- return wrap(x), wrap(resids), results['rank'], st
1892
-
1893
-
1894
- def _multi_svd_norm(x, row_axis, col_axis, op):
1895
- """Compute the extreme singular values of the 2-D matrices in `x`.
1896
-
1897
- This is a private utility function used by numpy.linalg.norm().
1898
-
1899
- Parameters
1900
- ----------
1901
- x : ndarray
1902
- row_axis, col_axis : int
1903
- The axes of `x` that hold the 2-D matrices.
1904
- op : callable
1905
- This should be either numpy.amin or numpy.amax.
1906
-
1907
- Returns
1908
- -------
1909
- result : float or ndarray
1910
- If `x` is 2-D, the return values is a float.
1911
- Otherwise, it is an array with ``x.ndim - 2`` dimensions.
1912
- The return values are either the minimum or maximum of the
1913
- singular values of the matrices, depending on whether `op`
1914
- is `numpy.amin` or `numpy.amax`.
1915
-
1916
- """
1917
- if row_axis > col_axis:
1918
- row_axis -= 1
1919
- y = rollaxis(rollaxis(x, col_axis, x.ndim), row_axis, -1)
1920
- result = op(svd(y, compute_uv=0), axis=-1)
1921
- return result
1922
-
1923
-
1924
- def norm(x, ord=None, axis=None):
1925
- """
1926
- Matrix or vector norm.
1927
-
1928
- This function is able to return one of seven different matrix norms,
1929
- or one of an infinite number of vector norms (described below), depending
1930
- on the value of the ``ord`` parameter.
1931
-
1932
- Parameters
1933
- ----------
1934
- x : array_like
1935
- Input array. If `axis` is None, `x` must be 1-D or 2-D.
1936
- ord : {non-zero int, inf, -inf, 'fro'}, optional
1937
- Order of the norm (see table under ``Notes``). inf means numpy's
1938
- `inf` object.
1939
- axis : {int, 2-tuple of ints, None}, optional
1940
- If `axis` is an integer, it specifies the axis of `x` along which to
1941
- compute the vector norms. If `axis` is a 2-tuple, it specifies the
1942
- axes that hold 2-D matrices, and the matrix norms of these matrices
1943
- are computed. If `axis` is None then either a vector norm (when `x`
1944
- is 1-D) or a matrix norm (when `x` is 2-D) is returned.
1945
-
1946
- Returns
1947
- -------
1948
- n : float or ndarray
1949
- Norm of the matrix or vector(s).
1950
-
1951
- Notes
1952
- -----
1953
- For values of ``ord <= 0``, the result is, strictly speaking, not a
1954
- mathematical 'norm', but it may still be useful for various numerical
1955
- purposes.
1956
-
1957
- The following norms can be calculated:
1958
-
1959
- ===== ============================ ==========================
1960
- ord norm for matrices norm for vectors
1961
- ===== ============================ ==========================
1962
- None Frobenius norm 2-norm
1963
- 'fro' Frobenius norm --
1964
- inf max(sum(abs(x), axis=1)) max(abs(x))
1965
- -inf min(sum(abs(x), axis=1)) min(abs(x))
1966
- 0 -- sum(x != 0)
1967
- 1 max(sum(abs(x), axis=0)) as below
1968
- -1 min(sum(abs(x), axis=0)) as below
1969
- 2 2-norm (largest sing. value) as below
1970
- -2 smallest singular value as below
1971
- other -- sum(abs(x)**ord)**(1./ord)
1972
- ===== ============================ ==========================
1973
-
1974
- The Frobenius norm is given by [1]_:
1975
-
1976
- :math:`||A||_F = [\\sum_{i,j} abs(a_{i,j})^2]^{1/2}`
1977
-
1978
- References
1979
- ----------
1980
- .. [1] G. H. Golub and C. F. Van Loan, *Matrix Computations*,
1981
- Baltimore, MD, Johns Hopkins University Press, 1985, pg. 15
1982
-
1983
- Examples
1984
- --------
1985
- >>> from numpy import linalg as LA
1986
- >>> a = np.arange(9) - 4
1987
- >>> a
1988
- array([-4, -3, -2, -1, 0, 1, 2, 3, 4])
1989
- >>> b = a.reshape((3, 3))
1990
- >>> b
1991
- array([[-4, -3, -2],
1992
- [-1, 0, 1],
1993
- [ 2, 3, 4]])
1994
-
1995
- >>> LA.norm(a)
1996
- 7.745966692414834
1997
- >>> LA.norm(b)
1998
- 7.745966692414834
1999
- >>> LA.norm(b, 'fro')
2000
- 7.745966692414834
2001
- >>> LA.norm(a, np.inf)
2002
- 4
2003
- >>> LA.norm(b, np.inf)
2004
- 9
2005
- >>> LA.norm(a, -np.inf)
2006
- 0
2007
- >>> LA.norm(b, -np.inf)
2008
- 2
2009
-
2010
- >>> LA.norm(a, 1)
2011
- 20
2012
- >>> LA.norm(b, 1)
2013
- 7
2014
- >>> LA.norm(a, -1)
2015
- -4.6566128774142013e-010
2016
- >>> LA.norm(b, -1)
2017
- 6
2018
- >>> LA.norm(a, 2)
2019
- 7.745966692414834
2020
- >>> LA.norm(b, 2)
2021
- 7.3484692283495345
2022
-
2023
- >>> LA.norm(a, -2)
2024
- nan
2025
- >>> LA.norm(b, -2)
2026
- 1.8570331885190563e-016
2027
- >>> LA.norm(a, 3)
2028
- 5.8480354764257312
2029
- >>> LA.norm(a, -3)
2030
- nan
2031
-
2032
- Using the `axis` argument to compute vector norms:
2033
-
2034
- >>> c = np.array([[ 1, 2, 3],
2035
- ... [-1, 1, 4]])
2036
- >>> LA.norm(c, axis=0)
2037
- array([ 1.41421356, 2.23606798, 5. ])
2038
- >>> LA.norm(c, axis=1)
2039
- array([ 3.74165739, 4.24264069])
2040
- >>> LA.norm(c, ord=1, axis=1)
2041
- array([6, 6])
2042
-
2043
- Using the `axis` argument to compute matrix norms:
2044
-
2045
- >>> m = np.arange(8).reshape(2,2,2)
2046
- >>> LA.norm(m, axis=(1,2))
2047
- array([ 3.74165739, 11.22497216])
2048
- >>> LA.norm(m[0, :, :]), LA.norm(m[1, :, :])
2049
- (3.7416573867739413, 11.224972160321824)
2050
-
2051
- """
2052
- x = asarray(x)
2053
-
2054
- # Check the default case first and handle it immediately.
2055
- if ord is None and axis is None:
2056
- x = x.ravel(order='K')
2057
- if isComplexType(x.dtype.type):
2058
- sqnorm = dot(x.real, x.real) + dot(x.imag, x.imag)
2059
- else:
2060
- sqnorm = dot(x, x)
2061
- return sqrt(sqnorm)
2062
-
2063
- # Normalize the `axis` argument to a tuple.
2064
- nd = x.ndim
2065
- if axis is None:
2066
- axis = tuple(range(nd))
2067
- elif not isinstance(axis, tuple):
2068
- axis = (axis,)
2069
-
2070
- if len(axis) == 1:
2071
- if ord == Inf:
2072
- return abs(x).max(axis=axis)
2073
- elif ord == -Inf:
2074
- return abs(x).min(axis=axis)
2075
- elif ord == 0:
2076
- # Zero norm
2077
- return (x != 0).sum(axis=axis)
2078
- elif ord == 1:
2079
- # special case for speedup
2080
- return add.reduce(abs(x), axis=axis)
2081
- elif ord is None or ord == 2:
2082
- # special case for speedup
2083
- s = (x.conj() * x).real
2084
- return sqrt(add.reduce(s, axis=axis))
2085
- else:
2086
- try:
2087
- ord + 1
2088
- except TypeError:
2089
- raise ValueError("Invalid norm order for vectors.")
2090
- if x.dtype.type is longdouble:
2091
- # Convert to a float type, so integer arrays give
2092
- # float results. Don't apply asfarray to longdouble arrays,
2093
- # because it will downcast to float64.
2094
- absx = abs(x)
2095
- else:
2096
- absx = x if isComplexType(x.dtype.type) else asfarray(x)
2097
- if absx.dtype is x.dtype:
2098
- absx = abs(absx)
2099
- else:
2100
- # if the type changed, we can safely overwrite absx
2101
- abs(absx, out=absx)
2102
- absx **= ord
2103
- return add.reduce(absx, axis=axis) ** (1.0 / ord)
2104
- elif len(axis) == 2:
2105
- row_axis, col_axis = axis
2106
- if not (-nd <= row_axis < nd and -nd <= col_axis < nd):
2107
- raise ValueError('Invalid axis %r for an array with shape %r' %
2108
- (axis, x.shape))
2109
- if row_axis % nd == col_axis % nd:
2110
- raise ValueError('Duplicate axes given.')
2111
- if ord == 2:
2112
- return _multi_svd_norm(x, row_axis, col_axis, amax)
2113
- elif ord == -2:
2114
- return _multi_svd_norm(x, row_axis, col_axis, amin)
2115
- elif ord == 1:
2116
- if col_axis > row_axis:
2117
- col_axis -= 1
2118
- return add.reduce(abs(x), axis=row_axis).max(axis=col_axis)
2119
- elif ord == Inf:
2120
- if row_axis > col_axis:
2121
- row_axis -= 1
2122
- return add.reduce(abs(x), axis=col_axis).max(axis=row_axis)
2123
- elif ord == -1:
2124
- if col_axis > row_axis:
2125
- col_axis -= 1
2126
- return add.reduce(abs(x), axis=row_axis).min(axis=col_axis)
2127
- elif ord == -Inf:
2128
- if row_axis > col_axis:
2129
- row_axis -= 1
2130
- return add.reduce(abs(x), axis=col_axis).min(axis=row_axis)
2131
- elif ord in [None, 'fro', 'f']:
2132
- return sqrt(add.reduce((x.conj() * x).real, axis=axis))
2133
- else:
2134
- raise ValueError("Invalid norm order for matrices.")
2135
- else:
2136
- raise ValueError("Improper number of dimensions to norm.")