= numpy =
Description: This package adds numerical linear algebra and other numerical computing
capabilities to python.
Maintainers:
Josh Kantor
Michael Abshoff
Upstream Contact:
Travis Oliphant
Fernando Perez
Brian Granger
Dependencies:
Python
Lapack
Blas
Atlas
Fortran
Special Update/Build Instructions:
* The file $SAGE_ROOT/devel/sage/sage/ext/numpy.pxi comes from this file and must be updated if/when
the file src/numpy/doc/cython/numpy.pxi is updated.
* Josh Kantor has done this the most so get him to do it if possible.
* To ensure that numpy compiles consistently regardless of what fortrans are on the
users system, we patch the files
numpy/distutiles/fcompiler/__init__.py and numpy/distutiles/fcompiler/gnu.py
1. This is done by adding a Sage_FCompiler and Sage_FCompiler_1 compiler clases
to gnu.py. Sage_FCompiler is for g95, and Sage_FCompiler_1 is for gfortran
In updating to a newer version of numpy it is usually possible to just
copy these classes into the new gnu.py. These classes control what flags
are used and libraries are linked in when compiling fortran code (as well as
the exact compiler called).
2. The __init__.py file is modified so that sage_fortran is always the default
compiler, which uses either Sage_FCompiler or Sage_FCompiler_1.
This file changes sometimes and the exact modification necessary is not constant
so it basically requires figuring out what is going on. For example in the current
1.1.0:
At line 682 we add sage_fortran to the beginning of the list of compilers on all
platforms of interest, this is the _default_compilers dict.
At line 701, we figure out whether we use gfortran or g95 and set cls
to Sage_FCompiler or Sage_FCompiler_1 as appropriate (this version string test
could probably be better but seems to work consistently).
At line 742, we add 'sage_fortran':('gnu',cls,"GNU Fortran")
to the dictionary of possible compilers. Since we modified the _default_compilers
dict, sage_fortran, will be tried first and it will use the compiler class cls
which refers to Sage_Fcompilers or Sage_FCompiler_1.
3. Scipy uses numpy's distutils to control its compilation of fortran code.
Whenever numpy is updated it is necessary to make sure that scipy still builds ok.
== Changelog ==
=== numpy-1.3.0.p2 (Ondrej Certik, 20 September 2009) ===
* fix the build system to work in cygwin
=== numpy-1.3.0.p0 (William Stein, 8 July 2009) ===
* Comment a line out in gnu.py to get distutils to work when building scipy on 64-bit OS X.
See trac http://trac.sagemath.org/sage_trac/ticket/6493 and http://projects.scipy.org/numpy/ticket/1087
=== numpy-1.3.0 (Jason Grout, 27 May 2009) ===
* Update to numpy 1.3.0. Since an spkg for scipy 0.7 is now available, I deleted the deprecation warning fixes mentioned below.
=== numpy-1.2.0.p0 (Michael Abshoff, September 27th, 2008) ===
* quiet a couple deprecation warnings in arrayobject.c and numpytest.py. These changes need to be reverted once we update to scipy 0.7. We also need to fix some API issues in our code once those fixes are reverted - see #4205.
=== numpy-1.2.0 (Jason Grout, September 25th, 2008) ===
* update to numpy 1.2.0, rebase and update patches
=== numpy-1.1.0.p0 (Michael Abshoff, August 27th, 2008) ===
* clean up patches directory
=== numpy-1.1.0 (Jason Grout, July 10th, 2008) ===
* update to numpy 1.1.0
=== numpy-20080104-1.0.4.p4 (Michael Abshoff, May 18th, 2008) ===
* add 64 bit OSX build support
=== numpy-20080104-1.0.4.p3 (William Stein, May 16, 2008) ===
* (Stupid) patch to numpy/linalg/setup.py to support cygwin
=== numpy-20080104-1.0.4.p2(Josh Kantor) ===
* update gnu.py to fix issue with inline fortran on osx
=== numpy-20080104-1.0.4.p1 (Josh Kantor & Michael Abshoff) ====
* update SPK.txt (Josh Kantor)
* remove *~
* update .hgignore
=== numpy-20080104-1.0.4.p0 (Michael Abshoff) ====
* add SPKG.txt
* create hg repo
=== numpy-20080104-1.0.4 (Josh Kantor) ====
* update to numpy 1.0.4 (Josh Kantor)