Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 5, 2008 00:28:17

severum
От:
Зарегистрирован: 2008-01-06
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите модуль для работы с матрицами

вопрос не очень связан с python :)
подскажите библиотеку, желательно python, можно и Си.

Требуется решать системы уравнений типа:
0000000000001000000000100000000010000000001000000000100000000010000000000000000000000000000000000000 = b0
0000000000000100000000010000000001000000000100000000010000000000000000000000000000000000000000000000 = b1
0000000000000001000000000100000000000000000000000000000000000000000000000000000000000000000000000000 = b2
0000000000000000100000000010000000001000000000000000000000000000000000000000000000000000000000000000 = b3
0000000000000000001000000000100000000010000000001000000000000000000000000000000000000000000000000000 = b4
0000000000000000000100000000010000000001000000000100000000000000000000000000000000000000000000000000 = b5
0000000000001100000001000000000100000000000000000000000000000000000000000000000000000000000000000000 = b6
0000000000000001100000001000000000100000000000000000000000000000000000000000000000000000000000000000 = b7
0000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000 = b8
0000000000000000000001111110000000000000000000000000000000000000000000000000000000000000000000000000 = b9
0000000000000000000000000000110000000100000000010000000001000000000100000000000000000000000000000000 = b10
0000000000000000000000000000000111100000000000000000000000000000000000000000000000000000000000000000 = b11
0000000000000000000000000000000000001111000000000000000000000000000000000000000000000000000000000000 = b12
0000000000000000000000000000000000000000001100000001000000000100000000000000000000000000000000000000 = b13
0000000000000000000000000000000000000000000000000000000100000000010000000001000000000100000000000000 = b14
0000000000000000000000000000000000000000000000011100000010000000001000000000100000000000000000000000 = b15
0000000000000000000000000000000000000000000000000001110000000000000000000000000000000000000000000000 = b16
0000000000000000000000000000000000000000000000000000000111000000100000000010000000001000000000100000 = b17
0000000000000000000000000000000000000000000000000000000000000000000010000000001000000000100000000010 = b18
0000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000 = b19
0000000000000000000000000000000000000000000000000000000000000000111110000100000000010000000001000000 = b20
0000000000000000000000000000000000000000000000000000000000000000000000000000000100000000010000000001 = b21
0000000000000000000000000000000000000000000000000000000000000000000000000111100000100000000010000000 = b22
0000000000000000000000000000000000000000000000000000000000000000000000000000001100000001000000000100 = b23
0000000000000000000000000000000000000000000000000000000000000000000000000000000000111100000000000000 = b24
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000001110000000000 = b25
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011100000 = b26
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111 = b27

слева чтобы не загромождать только коэфициенты “а”, могут быть только 0 или 1, соответственно в данном примере переменных “X” 100 штук.
И X и b первоначально не известны. нужно задавая некоторые из них подобрать такие чтобы можно было найти остальные и при этом решение было только одно.
Есть еще одно доп условие все Х в одной строчке с единичным “a” НЕ равны.

Подскажите какие-нибудь библиотеки которые бы облегчили решение задачи.
Большое спасибо.



Офлайн

#2 Окт. 5, 2008 00:55:48

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Подскажите модуль для работы с матрицами

Похоже на систему линейных уравнений. Решается обычно методом Гаусса.
Не могли бы Вы задачу написать в математическом виде?
А то я не понял вот этой фразы:

слева чтобы не загромождать только коэфициенты “а”, могут быть только 0 или 1, соответственно в данном примере переменных “X” 100 штук.

Офлайн

#3 Окт. 5, 2008 03:04:27

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите модуль для работы с матрицами

облегчающие, это наверное http://numpy.scipy.org/



Офлайн

#4 Окт. 6, 2008 11:01:33

lightcaster
От:
Зарегистрирован: 2008-07-01
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите модуль для работы с матрицами

shiza
облегчающие, это наверное http://numpy.scipy.org/
+1 Мощный пакет для работы с векторами и матрицами.



Офлайн

#5 Окт. 6, 2008 14:48:24

Yurietc
От:
Зарегистрирован: 2007-07-18
Сообщения: 112
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите модуль для работы с матрицами

Можно попробовать http://docs.sympy.org/index.html
А еще была интересная тема http://python.su/forum/viewtopic.php?id=1652



Офлайн

#6 Окт. 6, 2008 15:17:58

severum
От:
Зарегистрирован: 2008-01-06
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите модуль для работы с матрицами

спасибо большое поизучаю.



Офлайн

#7 Окт. 6, 2008 15:25:08

severum
От:
Зарегистрирован: 2008-01-06
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите модуль для работы с матрицами

а для работы с графами есть какие-нибудь библиотеки?

я тут ради интереса построил исходную задачу в виде графа, с помощью graphviz.
т.к. в линейных уравнениях мне не хватает условия “Х в одной строчке НЕ равны”

Граф получился таким что местами его можно разделить на более маленькие графы т.к. есть всего 1-2 связи. Есть какие-нибудь готовые функция которые бы находили эти подграфи. Облегчали перебор узлов графа и так далее?..
Спасибо.



Офлайн

#8 Окт. 6, 2008 15:26:51

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите модуль для работы с матрицами

сам не пробовал - погляди эту.
http://code.google.com/p/python-graph/



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version