I'm testing the FindInstance
capabilities and ran into one problem that behaves similarly with different types of inequalities. I calculate two points satisfying given inequalities:
FindInstance[Subscript[W, 1]^2 - 4 Subscript[W, 0] Subscript[W, 2] > 0 && Subscript[X, 1]^2 - 4 Subscript[X, 0] > 0 && Subscript[Y, 1]^2 - 4 Subscript[Y, 0] > 0 && Subscript[Z, 1]^2 - 4 Subscript[Z, 0] > 0 && -5 < Subscript[W, 2] <5 && -2 < Subscript[X, 1] < 2 && 1 < Subscript[Y, 1] < 2 && 1 < Subscript[Z, 1] < 2, Reduce`FreeVariables[{Subscript[W, 1]^2 - 4 Subscript[W, 0] Subscript[W, 2], Subscript[X, 1]^2 - 4 Subscript[X, 0], Subscript[Y, 1]^2 - 4 Subscript[Y, 0],Subscript[Z, 1]^2 - 4 Subscript[Z, 0], Subscript[W, 1] + Subscript[W, 2] (Subscript[S, 1])}], Reals, 2]
And when I add an additional inequality $-1 < W_1 + W_2 S_1 < 1$
FindInstance[Subscript[W, 1]^2 - 4 Subscript[W, 0] Subscript[W, 2] > 0 && Subscript[X, 1]^2 - 4 Subscript[X, 0] > 0 && Subscript[Y, 1]^2 - 4 Subscript[Y, 0] > 0 && Subscript[Z, 1]^2 - 4 Subscript[Z, 0] > 0 && -5 < Subscript[W, 2] <5 && -2 < Subscript[X, 1] < 2 && 1 < Subscript[Y, 1] < 2 && 1 < Subscript[Z, 1] < 2 && -1 < Subscript[W, 1] + Subscript[W, 2] (Subscript[S, 1]) < 1, Reduce`FreeVariables[{Subscript[W, 1]^2 - 4 Subscript[W, 0] Subscript[W, 2], Subscript[X, 1]^2 - 4 Subscript[X, 0], Subscript[Y, 1]^2 - 4 Subscript[Y, 0], Subscript[Z, 1]^2 - 4 Subscript[Z, 0], Subscript[W, 1] + Subscript[W, 2] (Subscript[S, 1])}], Reals, 2];
The calculation starts but cannot stop, i.e. identify these 2 points. I waited an hour, but the calculation never ended.
Although with the help of the NMinimize
command, I can find one point quite quickly.
NMinimize[{Subscript[W, 1] + Subscript[W, 2] Subscript[S, 1], Subscript[W, 1]^2 - 4 Subscript[W, 0] Subscript[W, 2] > 0, Subscript[X, 1]^2 - 4 Subscript[X, 0] > 0, Subscript[Y, 1]^2 - 4 Subscript[Y, 0] > 0, Subscript[Z, 1]^2 - 4 Subscript[Z, 0] > 0, -1 < Subscript[W, 1] + Subscript[W, 2] Subscript[S, 1] < 1}, Reduce`FreeVariables[{Subscript[W, 1]^2 - 4 Subscript[W, 0] Subscript[W, 2], Subscript[X, 1]^2 - 4 Subscript[X, 0], Subscript[Y, 1]^2 - 4 Subscript[Y, 0], Subscript[Z, 1]^2 - 4 Subscript[Z, 0], Subscript[W, 1] + Subscript[W, 2] (Subscript[S, 1])}], Method -> {"RandomSearch", "SearchPoints" -> 1}]
Is there something wrong with the FindInstance
settings?