Примечания к выпуску NumPy 1.5.0#
Основные моменты#
Совместимость с Python 3#
Это первый выпуск NumPy, совместимый с Python 3. Поддержка Python 3 и Python 2 осуществляется из единой кодовой базы. Подробные заметки об изменениях можно найти на https://web.archive.org/web/20100814160313/http://projects.scipy.org/numpy/browser/trunk/doc/Py3K.txt.
Обратите внимание, что фреймворк тестирования Numpy полагается на nose, который еще не имеет совместимого с Python 3 релиза. Рабочая ветка nose для Python 3 может быть найдена на https://web.archive.org/web/20100817112505/http://bitbucket.org/jpellerin/nose3/ однако.
Перенос SciPy на Python 3 ожидается завершённым в ближайшее время.
PEP 3118 совместимость#
Новый буферный протокол, описанный в PEP 3118, полностью поддерживается в этой версии Numpy. В версиях Python >= 2.6 массивы Numpy предоставляют буферный интерфейс, а функции array(), asarray() и другие принимают новые буферы в качестве входных данных.
Новые возможности#
Предупреждение при приведении комплексного числа к вещественному#
NumPy теперь выдаёт numpy.ComplexWarning когда комплексное число приводится к действительному числу. Например:
>>> x = np.array([1,2,3])
>>> x[:2] = np.array([1+2j, 1-2j])
ComplexWarning: Casting complex values to real discards the imaginary part
Приведение действительно отбрасывает мнимую часть, и это может быть нежелательным поведением в некоторых случаях, отсюда предупреждение. Это предупреждение можно отключить стандартным способом:
>>> import warnings
>>> warnings.simplefilter("ignore", np.ComplexWarning)
Метод dot для ndarrays#
Ndarrays теперь имеют скалярное произведение также в качестве метода, что позволяет записывать цепочки матричных произведений как
>>> a.dot(b).dot(c)
вместо более длинной альтернативы
>>> np.dot(a, np.dot(b, c))
функция linalg.slogdet#
Функция slogdet возвращает знак и логарифм определителя матрицы. Поскольку определитель может включать произведение многих малых/больших значений, результат часто более точен, чем полученный простым умножением.
новый заголовок#
Новый заголовочный файл ndarraytypes.h содержит символы из ndarrayobject.h, которые не зависят от макросов PY_ARRAY_UNIQUE_SYMBOL и NO_IMPORT/_ARRAY. В основном, это типы, определения типов и перечисления; вызовы функций массива остаются в ndarrayobject.h. Это позволяет пользователям включать типы и перечисления, связанные с массивами, без необходимости беспокоиться о расширениях макросов и их побочных эффектах.
Изменения#
polynomial.polynomial#
Функции polyint и polyder теперь проверяют, что указанное количество интегрирований или дифференцирований является неотрицательным целым числом. Число 0 является допустимым значением для обеих функций.
В класс Polynomial добавлен метод degree.
В класс Polynomial добавлен метод trimdeg. Он работает аналогично truncate, за исключением того, что аргументом является желаемая степень результата, а не количество коэффициентов.
Polynomial.fit теперь использует None как домен по умолчанию для подгонки. Домен по умолчанию Polynomial можно указать, используя [] как значение домена.
Веса могут использоваться как в polyfit, так и в Polynomial.fit
В класс Polynomial добавлен метод linspace для упрощения построения графиков.
Функция polymulx была добавлена.
polynomial.chebyshev#
Функции chebint и chebder теперь проверяют, что указанное количество интегрирований или дифференцирований является неотрицательным целым числом. Число 0 является допустимым значением для обеих функций.
В класс Chebyshev добавлен метод degree.
В класс Чебышева добавлен метод trimdeg. Он работает как truncate, за исключением того, что аргументом является желаемая степень результата, а не количество коэффициентов.
Chebyshev.fit теперь использует None как домен по умолчанию для подгонки. Домен по умолчанию Chebyshev может быть указан с помощью [] в качестве значения домена.
Веса могут использоваться как в chebfit, так и в Chebyshev.fit
Метод linspace был добавлен в класс Chebyshev для облегчения построения графиков.
Добавлена функция chebmulx.
Добавлены функции для точек Чебышёва первого и второго рода.
гистограмма#
После двухлетнего переходного периода старое поведение функции гистограммы было прекращено, и ключевое слово «new» было удалено.
correlate#
Старое поведение correlate было устаревшим в версии 1.4.0, новое поведение (обычное определение для взаимной корреляции) теперь является поведением по умолчанию.