:invalid_startvalue on simple system
Philliams opened this issue · 2 comments
I am attempting to use the monodromy_solve
function on a complex system of polynomials of high degree, but I am obtaining the warning message Warning: None of the provided solutions is a valid start solution.
from monodromy.jl:788
.
I attempted to implement a very simple system to better understand how to use the monodromy_solve
function, however I seem to be having getting the same error.
@var r[1:2]
@var q
f1 = r[1]^2 + r[2]^2
f2 = r[1]^2 - r[2]^2
mres = monodromy_solve(
System([
f1 * q,
f2 * q
],
parameters=[q]
),
[0f0 ; 0f0],
[1f0],
)
println(mres)
┌ Warning: None of the provided solutions is a valid start solution.
└ @ HomotopyContinuation ...\HomotopyContinuation\I1faM\src\monodromy.jl:788
MonodromyResult
===============
• return_code → :invalid_startvalue
• 0 solutions
• 0 tracked loops
• random_seed → 0x87e6b94c
Clearly, the starting point [0,0] is a solution given f1(0, 0) == 0
and f2(0, 0) == 0
. As such, I do not understand why it is reporting that the starting point is invalid and I feel that I must be misusing the API/monodromy in a way that is not obvious to me.
Additionally, I have a version of the code working for the 1D case, but only get this error message when dealing with a multivariate system.
Versions used :
- julia : Version 1.7.2 (2022-02-06)
- HomotopyContinuation : 2.6.4
I think we need to improve our error messages here. For us, a valid start solution is a non-singular start solution (i.e. the Jacobian needs to have full column-rank) . However, for your system the Jacobian of [f1,f2] at (0,0) is [0 0; 0 0] and therefore the solution is considered invalid.
Thanks for the clarification, was able to debug and fix my code based on that.