|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| README.rst | H A D | 08-May-2021 | 1.6 KiB | 37 | 26 |
| clapack_scrub.py | H A D | 09-May-2021 | 8.5 KiB | 305 | 252 |
| f2c.c | H A D | 08-May-2021 | 11.7 KiB | 765 | 636 |
| f2c.h | H A D | 08-May-2021 | 10.3 KiB | 396 | 342 |
| f2c_blas.c | H A D | 08-May-2021 | 547.5 KiB | 21,616 | 12,981 |
| f2c_c_lapack.c | H A D | 08-May-2021 | 851.5 KiB | 29,862 | 14,950 |
| f2c_c_lapack.f.patch | H A D | 08-May-2021 | 1.3 KiB | 33 | 32 |
| f2c_config.c | H A D | 08-May-2021 | 49 KiB | 2,069 | 862 |
| f2c_config.c.patch | H A D | 08-May-2021 | 328 | 19 | 14 |
| f2c_d_lapack.c | H A D | 08-May-2021 | 1.1 MiB | 41,865 | 20,722 |
| f2c_d_lapack.f.patch | H A D | 08-May-2021 | 1.3 KiB | 33 | 32 |
| f2c_lapack.c | H A D | 08-May-2021 | 44.7 KiB | 1,652 | 804 |
| f2c_lapack.f.patch | H A D | 08-May-2021 | 1.4 KiB | 49 | 48 |
| f2c_s_lapack.c | H A D | 08-May-2021 | 1.1 MiB | 41,692 | 20,579 |
| f2c_s_lapack.f.patch | H A D | 08-May-2021 | 1.3 KiB | 33 | 32 |
| f2c_z_lapack.c | H A D | 08-May-2021 | 861.9 KiB | 29,997 | 15,064 |
| f2c_z_lapack.f.patch | H A D | 08-May-2021 | 1.3 KiB | 33 | 32 |
| fortran.py | H A D | 08-May-2021 | 3.3 KiB | 118 | 98 |
| lapack_lite_names.h | H A D | 08-May-2021 | 23.5 KiB | 692 | 680 |
| make_lite.py | H A D | 09-May-2021 | 11.7 KiB | 389 | 310 |
| python_xerbla.c | H A D | 08-May-2021 | 1.3 KiB | 48 | 26 |
| wrapped_routines | H A D | 08-May-2021 | 416 | 52 | 51 |
README.rst
1Regenerating lapack_lite source
2===============================
3
4:Authors: * David M. Cooke <cookedm@physics.mcmaster.ca>
5 * Eric Wieser (upgraded lapack version on 2017-03-26)
6
7The ``numpy/linalg/f2c_*.c`` files are ``f2c``'d versions of the LAPACK routines
8required by the ``LinearAlgebra`` module, and wrapped by the ``lapack_lite``
9module. The scripts in this directory can be used to create these files
10automatically from a directory of LAPACK source files.
11
12You'll need `plex 2.0.0dev`_, available from PyPI, installed to do the
13appropriate scrubbing. As of writing, **this is only available for python 2.7**,
14and is unlikely to ever be ported to python 3.
15
16.. _plex 2.0.0dev: https://pypi.python.org/pypi/plex/
17
18The routines that ``lapack_litemodule.c`` wraps are listed in
19``wrapped_routines``, along with a few exceptions that aren't picked up
20properly. Assuming that you have an unpacked LAPACK source tree in
21``~/LAPACK``, you generate the new routines in this directory with::
22
23$ python ./make_lite.py wrapped_routines ~/LAPACK
24
25This will grab the right routines, with dependencies, put them into the
26appropriate ``f2c_*.f`` files, run ``f2c`` over them, then do some scrubbing
27similar to that done to generate the CLAPACK_ distribution.
28
29.. _CLAPACK: http://netlib.org/clapack/index.html
30
31The output C files in git use the LAPACK source from the LAPACK_ page, using
32version 3.2.2. Unfortunately, newer versions use newer FORTRAN features, which
33are increasingly not supported by ``f2c``. As these are found, the patch files
34will need to be changed to re-express new constructs with legacy constructs.
35
36.. _LAPACK: http://netlib.org/lapack/index.html
37