Numerical Computing with Sage - Thematic Tutorials

Skip to content
Back to top
View this page
Edit this page

# Numerical Computing with Sage

Warning

Beware that this document may be obsolete.

Author: Josh Kantor (2008)

This document is designed to introduce the reader to the tools in Sage that are useful for doing numerical computation. By numerical computation we essentially mean machine precision floating point computations. In particular, things such as optimization, numerical linear algebra, solving ODE’s or PDE’s numerically, etc.

In the first part of this document the reader is only assumed to be familiar with Python/Sage. In the second section on using compiled code, the computational prerequisites increase and I assume the reader is comfortable with writing programs in C or Fortran. The third section is on mpi and parallel programming and only requires knowledge of Python, though familiarity with mpi would be helpful.

In the current version of this document the reader is assumed to be familiar with the techniques of numerical analysis. The goal of this document is not to teach you numerical analysis, but to explain how to express your ideas in Sage and Python. Also this document is not meant to be comprehensive. Instead the goal is to be a road map and orient the reader to the packages relevant to numerical computation and to where they can find more information.

- Numerical Tools
  - NumPy
  - SciPy
  - Cvxopt
- Using Compiled Code Interactively
  - f2py
  - More Interesting Examples with f2py
  - Ctypes
  - More complicated ctypes example
  - Comparison to Cython/Pyrex
- Parallel Computation
  - mpi4py
  - Parallel Laplace Solver