Вы, похоже, решаете общий полином третьей степени. Один шаг решения нормализует полином для начала с 1, поэтому делим на a_3
. Более поздняя замена a_3
на ноль вызывает деление на ноль, которое выражается как 'nan' ("не число").
Ответ на отредактированный вопрос:
Ну, есть не существует общего алгебраического c решения для полинома четвертой степени. Итак, лучшее, на что вы можете надеяться, - это дать симпозиу c полинома более высокой степени и надеяться, что у него есть решение. Sympy просто старается изо всех сил, и для этого он должен сделать некоторые предположения, но это не всегда правильно. Ни одна система вычислительной алгебры не является идеальной, и sympy, безусловно, не является самой сложной для всех целей, но она бесплатна и, что наиболее важно, с открытым исходным кодом.
Можем ли мы использовать / полагаться на выражения для корни?
При написании уравнения с шестью неизвестными, sympy не различает, какой из них будет называться неизвестным, а какой - параметром. Некоторые предположения сделаны для того, чтобы добиться прогресса.
Итак, можем ли мы на 100% полагаться на результаты симпози? Нет, конечно нет. Решения должны быть проверены и оценены на пригодность для конкретного применения c. Мы можем быть уверены, что он хорошо работает для одномерных полиномиальных уравнений. В более сложных случаях часто приходится сталкиваться с ограничениями вычислительной алгебры.
Посмотрим, что Wolfram Alpha делает с этим конкретным уравнением c, хотя я его не проверял, кажется более подходящим, хотя и очень сложным, и довольно сложным для использования в дальнейших расчетах. Wolfram Alpha, похоже, делает различие между параметрами и неизвестными неизвестными, что иногда обязывает вас использовать определенные c имена для параметров / неизвестных. Посмотрите, например, что он делает с переписанным уравнением . Особенно это переписывание не возвращает того, на что вы надеетесь.
Рекомендуется проверить ваше конкретное c уравнение в альтернативных системах и сообщить о случаях в github sympy за интересные примеры, где sympy работает не так, как должно.