После нескольких лет работы с различным математическим софтом (MatLab, Mapple и т.п.) я тоже считаю, что Python + NumPy + SciPy это наилучший выбор для математического программирования.
Да, кое что в SciPy кривовато, кое-чего не хватает по сравнению с большими мат. пакетами. Но это все с лихвой компенсируется скоростью и удобством разработки. Дело в том, что сам по себе Python гораздо более развит как язык программирования и вся инфраструктура Python предоставляет удобные вещи для построения законченных приложений.
Поэтому если стоит цель написать полноценное математическое приложение, то SciPy -- это очень хороший вариант. Но если просто стоит задача проверки какой-либо математической идеи, то использовать наиболее популярные мат. пакеты типа MatLab все-таки практичнее.
Да, еще рекомендуюю взглянуть на
http://en.wikipedia.org/wiki/Sage_(mathematics_software). Это попытка собрать воедино разрозненые пакеты в единую математическую систему на базе языка Python.