Использование Sympy для поиска системных решений уравнений в указанных переменных, действительных для всех значений остаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Использование Sympy для поиска системных решений уравнений в указанных переменных, действительных для всех значений оста

Сообщение Anonymous »

Есть ли стандартный способ реализации sympy.solve для решения системы уравнений в отношении указанного подмножества свободных символов (т.е. sympy.core.symbol.symbol экземпляры), так что он находит только решения, которые действительны для любого значения, достигнутого свободными символами в уравнениях, которые не были в определенных решениях? То есть я бы хотел, чтобы он не возвращал решения, которые являются действительными только предметом дополнительных ограничений на оставшихся переменных. var1 , так что любое возвращенное решение решает полную систему для всех значений var2 ? Интуитивно понятный < /p>

Код: Выделить всё

solve([eqn1,eqn2],[var1])
не обязательно достигает этого, потому что в зависимости от [eqn1, eqn2] он может вернуть решения в var1 , которые только решают систему, подверженную скрытым/нерепортированным ограничениям на var2 .
, в то время как я могу думать о том, чтобы программировать реализацию. Первоначально обнаружив решение и замену обратно в систему уравнений, а затем проверяя, становится ли оно тривиальным), мои обходные пути довольно утомительны и вычислительно тяжелы. Предположительно, это может быть сделано более эффективно, если интегрировать в существующие алгоритмы решающих, поэтому мне интересно, есть ли нет стандартного подхода для этой встроенной в симпи. />

Код: Выделить всё

from sympy import solve, symbols
x,y=symbols('x y')
eqns = [x,y]
solve_variables = [x]
solve(eqns,solve_variables)
возвращает {x: 0} , но {x: 0} только решает систему (x = 0, y = 0) с учетом дополнительного нерепортированного ограничения {y: 0} . Нет никаких решений, которые работают для всех y , поэтому я ищу решающую реализацию, которая возвращает «нет решения» в каком -то формате.
Пример 2:

Код: Выделить всё

from sympy import solve, symbols
x,y=symbols('x y')
eqns = [x,x+y]
solve_variables = [x]
solve(eqns,solve_variables)
возвращает [] . На этот раз результат имеет форму, которую я хочу в целом, то есть, нет решения в x , поскольку нет решения для всех y .
Какова возврата из этих двух примеров представляют собой математически по отношению к их соответствующим системам уравнений, что является различным категорически, что затрудняет реализацию SOLVE в некоторые вычислительные работы по программам. Версия 1.13.3.

Подробнее здесь: https://stackoverflow.com/questions/796 ... alid-for-a
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»