0
$\begingroup$
sol3 = {h2, h1, d, t, b, c} /.FindInstance[(h2^2 ((1 + d*Sin[t]^2)))/(16 \[Pi]^2) b == 1.14 && (h1*h2 (d (Sin[2 t])))/(2*16 \[Pi]^2) c == 0.1 && 
10^4 < b < 10^6 && 10^4 < c < 10^6 && 0 <= d <= 1 && 0 <= t <= \[Pi]/2 && 0.01 < h2 < 1 && 0.1 < h1 < 1, {h2, h1, d, t,b, c}, Reals, 10,WorkingPrecision -> 10,Method -> "ZengDecision" -> True]

I want to find out all the solutions over the range given above for h1, h2, b and c. But here I just asked for 10 solutions it settles down the lower limit of b and c. But if I changed the range for a and b , from $(10^3,10^6)$ to $(10^2,10^6)$, I even lost these solutions, then it shows error. But still the new range covers the old range. So why it fails to give solutions?

$\endgroup$

1 Answer 1

2
$\begingroup$

Your expression produces errors (FindInstance::nsmet, ReplaceAll::reps) with v12 on my Mac

$Version

(* "12.0.0 for Mac OS X x86 (64-bit) (April 7, 2019)" *)

However, using exact numbers in the expression provides three solutions -- near the lower bounds for b and c

sol3 = {h2, h1, d, t, b, c} /. FindInstance[
   (h2^2 ((1 + d*Sin[t]^2)))/(16 π^2) b == 57/50 &&
    (h1*h2 (d (Sin[2 t])))/(2*16 π^2) c == 1/10 &&
    10^4 < b < 10^6 && 10^4 < c < 10^6 && 0 <= d <= 1 &&
    0 <= t <= π/2 && 1/100 < h2 < 1 && 1/10 < h1 < 1,
   {h2, h1, d, t, b, c}, Reals, 10,
   WorkingPrecision -> 10,
   Method -> "ZengDecision" -> True]

enter image description here

Extending the range of b and c produces 18 solutions but does not include the original 3 solutions. Again, the found solutions are near the lower bound for b and c. Presumably, the search starts near the lower bounds and is timing out before getting far from the lower bounds.

sol3rev = {h2, h1, d, t, b, c} /. FindInstance[
   (h2^2 ((1 + d*Sin[t]^2)))/(16 π^2) b == 57/50 &&
    (h1*h2 (d (Sin[2 t])))/(2*16 π^2) c == 1/10 &&
    10^2 < b < 10^6 && 10^2 < c < 10^6 && 0 <= d <= 1 &&
    0 <= t <= π/2 && 1/100 < h2 < 1 && 1/10 < h1 < 1,
   {h2, h1, d, t, b, c}, Reals, 20,
   WorkingPrecision -> 10,
   Method -> "ZengDecision" -> True]

enter image description here

$\endgroup$
2
  • $\begingroup$ That is the problem, it settles down at lower bound. Please any suggestions on how to scan for other solutions $\endgroup$
    – Immy Salam
    Commented Aug 27, 2019 at 14:13
  • $\begingroup$ @ImmySalam - break the intervals into small intervals and use FindInstance or Reduce on each of the smaller intervals. This is likely to take a long time for computation. $\endgroup$
    – Bob Hanlon
    Commented Aug 27, 2019 at 14:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.