|
| 1 | +======================= |
| 2 | +Scientific Applications |
| 3 | +======================= |
| 4 | + |
| 5 | +Context |
| 6 | +::::::: |
| 7 | + |
| 8 | +Python is frequently used for high-performance scientific applications. Python is widely used in academia |
| 9 | +and scientific projects because it is easy to write, and it performs really well. |
| 10 | + |
| 11 | +Due to its high performance nature, scientific computing in python often refers to external libraries, typically |
| 12 | +written in faster languages (like C, or FORTRAN for matrix operations). The main libraries used are NumPy and SciPy |
| 13 | + |
| 14 | +Libraries |
| 15 | +::::::::: |
| 16 | + |
| 17 | +Numpy |
| 18 | +----- |
| 19 | +`NumPy <http://numpy.scipy.org/>`_ is a low level library written in C (and FORTRAN) for high level mathematical functions. |
| 20 | +NumPy cleverly overcomes the problem of running slower algorithms on Python by using multidimensional arrays and functions that operate on arrays. |
| 21 | +Any algorithm can then be expressed as a function on arrays, allowing the algorithms to be run quickly. |
| 22 | + |
| 23 | + |
| 24 | +NumPy is part of the SciPy project, and is released as a separate library so people who only need the basic requirements can just use NumPy. |
| 25 | + |
| 26 | +NumPy is compatible with Python versions 2.4 through to 2.7.2 and 3.1+. |
| 27 | + |
| 28 | +SciPy |
| 29 | +----- |
| 30 | +`SciPy <http://scipy.org/>`_ is a library that uses Numpy for more mathematical function. SciPy uses NumPy arrays as its basic data structure. |
| 31 | +SciPy comes with modules for various commonly used tasks in scientific programing like linear algebra, integration (calculus), |
| 32 | +ordinary differential equation solvers and signal processing. |
| 33 | + |
| 34 | +Enthought |
| 35 | +--------- |
| 36 | + |
| 37 | +Installing NumPy and SciPy can be a daunting task. Which is why the `Enthought Python distribution <http://enthought.com/>`_ was created. With Enthought, |
| 38 | +scientific python has never been easier (one click to install about 100 scientific python packages). User beware: Enthought is not free. |
| 39 | + |
| 40 | +Matplotlib |
| 41 | +---------- |
| 42 | + |
| 43 | +.. todo:: write about matplotlib. |
| 44 | + |
| 45 | +Resources |
| 46 | +::::::::: |
| 47 | + |
| 48 | +Many people who do scientific computing are on Windows. And yet many of the scientific computing packages are notoriously difficult to build and install. |
| 49 | +`Christoph Gohlke <http://www.lfd.uci.edu/~gohlke/pythonlibs/>`_ however, has compiled a list of Windows binaries for many useful Python packages. |
| 50 | +The list of packages has grown from a mainly scientific python resource to a more general list. It might be a good idea to check it out if you're on Windows. |
0 commit comments