Форум сайта python.su
вопрос не очень связан с 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” НЕ равны.
Подскажите какие-нибудь библиотеки которые бы облегчили решение задачи.
Большое спасибо.
Офлайн
Похоже на систему линейных уравнений. Решается обычно методом Гаусса.
Не могли бы Вы задачу написать в математическом виде?
А то я не понял вот этой фразы:
слева чтобы не загромождать только коэфициенты “а”, могут быть только 0 или 1, соответственно в данном примере переменных “X” 100 штук.
Офлайн
облегчающие, это наверное http://numpy.scipy.org/
Офлайн
shiza+1 Мощный пакет для работы с векторами и матрицами.
облегчающие, это наверное http://numpy.scipy.org/
Офлайн
Можно попробовать http://docs.sympy.org/index.html
А еще была интересная тема http://python.su/forum/viewtopic.php?id=1652
Офлайн
спасибо большое поизучаю.
Офлайн
а для работы с графами есть какие-нибудь библиотеки?
я тут ради интереса построил исходную задачу в виде графа, с помощью graphviz.
т.к. в линейных уравнениях мне не хватает условия “Х в одной строчке НЕ равны”
Граф получился таким что местами его можно разделить на более маленькие графы т.к. есть всего 1-2 связи. Есть какие-нибудь готовые функция которые бы находили эти подграфи. Облегчали перебор узлов графа и так далее?..
Спасибо.
Офлайн
сам не пробовал - погляди эту.
http://code.google.com/p/python-graph/
Офлайн