Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 7, 2011 00:15:39

garza
От:
Зарегистрирован: 2011-03-14
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

Несколько вопросов по пакету NumPy

Мануала подробного на русском к сожалению не нашел. Такой вопрос. Если в пакете реализация конечных полей?
Нужно складывать, умножать, находить остаток от деления. Все это для многочленов. Коэффициенты - элементы простых полей. В моем случае F2 ноль и 1.

нашел только такое:

x = array([7, 3, 5, 6, 4, 7, 5, 2, 1])
print poly1d(x)

8 7 6 5 4 3 2
7 x + 3 x + 5 x + 6 x + 4 x + 7 x + 5 x + 2 x + 1
функция poly1d печатает полном так?

так же там есть функции:

polyadd(a1, a2) Find the sum of two polynomials.
polydiv(u, v) Returns the quotient and remainder of polynomial division.
polymul(a1, a2) Find the product of two polynomials.
polysub(a1, a2) Difference (subtraction) of two polynomials.

но все это для действительных чисел…

пока думаю организовать так:
полином просто как массив с коэффициентами. и потом искать остаток от деления на модуль (в моем случае 2).

я написал функции сложения, умножения полиномов, поиск остатка от деления, но у меня там в качестве полинома выступает обычный список list. программа работает ужасно долго, там много вычислений с массивами, элементы который полиномы. посоветовали переписать всё на numpy. помогите пожалуйста, может тут етсь готовые функции для линейной алгебры?



Офлайн

#2 Дек. 7, 2011 11:35:55

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Несколько вопросов по пакету NumPy

А что мешает заменить list на np.array()? его можно сделать целочисленным или даже в вашем случае bool.
Но думаю что все равно сильного ускорения не получится.
Функции для линейной алгебры есть.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version