Примечания к выпуску 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.)

Авторы#

  • Anton Akhmerov +

  • Alexander Eberspächer +

  • Anne Archibald

  • Jisk Attema +

  • K.-Michael Aye +

  • bemasc +

  • Sebastian Berg +

  • François Boulogne +

  • Мэтью Бретт

  • Lars Buitinck

  • Стивен Бёрнс +

  • Tim Cera +

  • Christian +

  • Кит Клозон +

  • David Cournapeau

  • Натан Крок +

  • endolith

  • Bradley M. Froehle +

  • Мэтью Р Гудман

  • Кристоф Голке

  • Ralf Gommers

  • Robert David Grant +

  • Yaroslav Halchenko

  • Чарльз Харрис

  • Джонатан Хелмус

  • Андреас Хилболл

  • Hugo +

  • Oleksandr Huziy

  • Jeroen Demeyer +

  • Johannes Schönberger +

  • Steven G. Johnson +

  • Крис Джордан-Сквайр

  • Jonathan Taylor +

  • Никлас Крёгер +

  • Jerome Kieffer +

  • kingson +

  • Josh Lawrence

  • Денис Лаксальд

  • Alex Leach +

  • Тим Лесли

  • Richard Lindsley +

  • Lorenzo Luengo +

  • Stephen McQuay +

  • MinRK

  • Sturla Molden +

  • Eric Moore +

  • mszep +

  • Matt Newville +

  • Vlad Niculae

  • Трэвис Олифант

  • David Parker +

  • Fabian Pedregosa

  • Josef Perktold

  • Zach Ploskey +

  • Alex Reinhart +

  • Gilles Rochefort +

  • Ciro Duran Santillli +

  • Jan Schlueter +

  • Jonathan Scholz +

  • Anthony Scopatz

  • Skipper Seabold

  • Fabrice Silva +

  • Scott Sinclair

  • Jacob Stevenson +

  • Sturla Molden +

  • Джулиан Тейлор +

  • thorstenkranz +

  • Джон Траверс +

  • True Price +

  • Nicky van Foreest

  • Jacob Vanderplas

  • Patrick Varilly

  • Даниель Велков +

  • Pauli Virtanen

  • Stefan van der Walt

  • Warren Weckesser

Всего 75 человек внесли вклад в этот выпуск. Люди со знаком “+” рядом с именами внесли патч впервые.