Примечания к выпуску SciPy 0.12.0#
SciPy 0.12.0 — это результат 7 месяцев напряжённой работы. Он содержит много новых функций, множество исправлений ошибок, улучшенное покрытие тестами и лучшую документацию. В этом выпуске было несколько устареваний и изменений API, которые описаны ниже. Всем пользователям рекомендуется обновиться до этого выпуска, так как в нём большое количество исправлений ошибок и оптимизаций. Более того, наше внимание в разработке теперь переключится на выпуски с исправлениями ошибок в ветке 0.12.x и на добавление новых функций в ветке master.
Некоторые ключевые особенности этого выпуска:
Завершённые обёртки QHull в scipy.spatial.
cKDTree теперь является полной заменой для KDTree.
Новый глобальный оптимизатор, basinhopping.
Поддержка Python 2 и Python 3 из одной кодовой базы (без 2to3).
Для этого выпуска требуется Python 2.6, 2.7 или 3.1-3.3 и NumPy 1.5.1 или выше. Поддержка Python 2.4 и 2.5 была прекращена в этом выпуске.
Новые возможности#
scipy.spatial улучшения#
cKDTree полностью функционален#
Cython-версия KDTree, cKDTree, теперь полностью функциональна. Большинство операций (построение, запрос, query_ball_point, query_pairs, count_neighbors и sparse_distance_matrix) работают в 200–1000 раз быстрее в cKDTree, чем в KDTree. С очень незначительными оговорками, cKDTree имеет точно такой же интерфейс, как KDTree, и может использоваться как прямая замена.
Диаграммы Вороного и выпуклые оболочки#
scipy.spatial теперь содержит функциональность для вычисления диаграмм Вороного и выпуклых оболочек с использованием библиотеки Qhull. (Триангуляция Делоне была доступна начиная с Scipy 0.9.0.)
Улучшения Delaunay#
Теперь можно передавать пользовательские опции Qhull в триангуляцию Делоне. Копланарные точки теперь также записываются, если присутствуют. Также теперь возможна инкрементальная построение триангуляций Делоне.
Спектральные оценки (scipy.signal)#
Функции scipy.signal.periodogram и scipy.signal.welch были добавлены, предоставляя спектральные оценки на основе ДПФ.
scipy.optimize улучшения#
Функции обратного вызова в L-BFGS-B и TNC#
В механизм L-BFGS-B и TNC решателей минимизации добавлен механизм обратного вызова.
Глобальная оптимизация методом бассейнового перехода (scipy.optimize.basinhopping)#
Новый алгоритм глобальной оптимизации. Basinhopping предназначен для эффективного поиска глобального минимума гладкой функции.
scipy.special улучшения#
Пересмотренные комплексные функции ошибок#
Вычисление специальных функций, связанных с функцией ошибки, теперь использует новый Библиотека Faddeeva из MIT что повышает их численную точность. Масштабированная и мнимая функции ошибок
erfcx и erfi также были добавлены, и интеграл Доусона dawsn теперь
можно вычислить для комплексного аргумента.
Более быстрые ортогональные полиномы#
Вычисление ортогональных полиномов (the eval_* подпрограммы) теперь быстрее в scipy.special, и их out= аргумент функции
работает правильно.
scipy.sparse.linalg features#
В
scipy.sparse.linalg.spsolve,bаргумент теперь может быть либо вектором, либо матрицей.scipy.sparse.linalg.invбыла добавлена. Это используетspsolveдля вычисления обратной разреженной матрицы.scipy.sparse.linalg.expmбыл добавлен. Это вычисляет экспоненту разреженной матрицы с использованием алгоритма, аналогичного существующей реализации для плотных массивов вscipy.linalg.expm.
Вывод содержимого файлов Matlab(R) в scipy.io#
Новая функция whosmat доступен в scipy.io для проверки содержимого
MAT-файлов без загрузки их в память.
Документированы низкоуровневые интерфейсы BLAS и LAPACK (scipy.linalg)#
Модули scipy.linalg.blas и scipy.linalg.lapack может использоваться
для доступа к низкоуровневым функциям BLAS и LAPACK.
Улучшения полиномиальной интерполяции (scipy.interpolate)#
Барицентрический, Кроу, кусочно-полиномиальный и pchip интерполяторы в
scipy.interpolate теперь принимает axis аргумент.
Устаревшие функции#
scipy.lib.lapack#
Модуль scipy.lib.lapack устарел. Вы можете использовать scipy.linalg.lapack
вместо. Модуль scipy.lib.blas был устаревшим ранее в Scipy 0.10.0.
fblas и cblas#
Доступ к модулям scipy.linalg.fblas, cblas, flapack, clapack устарел. Вместо этого используйте модули scipy.linalg.lapack и
scipy.linalg.blas.
Обратно несовместимые изменения#
Удаление scipy.io.save_as_module#
Функция scipy.io.save_as_module был устаревшим в Scipy 0.11.0 и
теперь удалён.
Его приватные вспомогательные модули scipy.io.dumbdbm_patched и
scipy.io.dumb_shelve также удаляются.
ось аргумент добавлен в scipy.stats.scoreatpercentile#
Функция scipy.stats.scoreatpercentile был присвоен ось
аргумент. Аргумент по умолчанию - axis=None, что означает, что вычисление
выполняется на сглаженном массиве. До этого изменения, scoreatpercentile
будет действовать как если бы axis=0 был предоставлен. Код, использующий scoreatpercentile
с многомерным массивом потребует добавления axis=0 в вызов функции, чтобы сохранить старое поведение. (Это изменение API не было замечено до долгого времени после выпуска 0.12.0.)