Как эффективно узнать, имеют ли уравнения решения?

Я хочу знать, имеет ли набор уравнений решение, и я использую solve(f)!=[] (python sympy) для его достижения. Но мне нужно только знать, есть ли решение, чтобы мне не нужно было искать все решения, на что ушло бы много времени. Есть ли способ сделать это эффективно?


person xcl    schedule 25.12.2017    source источник
comment
Трудно понять, что вы хотите здесь. Где ваша попытка решить эту проблему?   -  person RoadRunner    schedule 25.12.2017


Ответы (1)


Имейте в виду, что sympy.solve дает [] не обязательно означает, что уравнение не имеет решения. Это означает только то, что он не смог найти ни одного. Некоторые уравнения имеют решения, но их нельзя выразить в закрытой форме (например, cos(x) = x). sympy.solveset предоставит вам полные решения, но в тех случаях, когда он не может сказать, он просто вернет общий набор решений.

Что касается исходного вопроса, я не знаю, есть ли способ сделать это вообще. Если вы имеете дело только с реальными непрерывными функциями, вы можете проверить, является ли он строго положительным или строго отрицательным в своей области. У Sympy нет самых мощных инструментов для проверки этого без некоторой помощи пользователя.

person asmeurer    schedule 25.12.2017