Also, in order to prove a system of polynomials to be inconsistent, we can 
show that its reduced Gröbner basis is 1. [1]

In [13]: groebner(system, unknowns)
Out[13]: GroebnerBasis([1], a_1, a_2, a_3, a_4, b_1, b_2, b_3, b_4, 
domain='ZZ', order='lex')

In the problem at hand, we do get the desired result.
Thus, we can say that the system is inconsistent.

 

> I'm unsure if solve_poly_system returning None necessarily means that 
> there are no solutions, as Kshitij suggests. It may be the case, but 
> it isn't documented, so we would need to check the code to be sure. 
>

The `solve_poly_sys` is limited by the ability of the root 
finding algorithms.
And if no solutions are found, that doesn't necessarily mean that the 
system is inconsistent.
I shouldn't have been so bold to assume this.
Thanks for pointing this out. 

The algorithm we implement in `solve_generic` assumes the system to be 
zero-dimensional.
However, I think we need to refactor the code to reflect that cases where 
the system is inconsistent or not
using the reduced Groebner Basis of the system.
Also, wouldn't it be a good idea to check whether the system is 
zero-dimensional or not before running the algorithm ?

[1]: 
https://en.wikipedia.org/wiki/Gr%C3%B6bner_basis#Solutions_of_a_system_of_algebraic_equations

--------------------
Kshitij Saraogi

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/898b5ce2-edcc-44f5-b4a6-9ab1f27fc7fc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to