Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

This is a "soft" question, so I'll give a "soft" answer.

Python is a very flexible programming language, especially for prototyping, and Sage has the built-in tools to do a lot of modeling stuff. My suggestion would be to

  1. Use Sage normally just to get yourself running with your model
  2. Decide whether you need Sage or can stick with the Python/Numpy/Scipy/Matplotlib stack, which will reduce on some overhead
  3. If needed, see if there are inefficiencies in your code by doing some profiling and perhaps using Cython to speed up any calculations you have to.

My guess is there is no reason you have to leave the Python/Sage world, but depending on exactly what you want to do (especially if you are mixing Scipy and GSL diffeq solvers) you may want to stick with the Sage environment.

Sage does not have some of the graphical interfaces for complex situations that some modeling software offers of a drag-and-drop variety. I don't know that I view that as a negative, as it means you have to actually understand your model and not just take what the package gives you, but different problems require different tools.