The Reduce::ratnz does not contain an error, but a warning. If you click on the More or >> link, regardless of what is displayed on your system, it will lead you to documentation that states:
This message is often generated when the first argument in Reduce contains inaccurate numbers. [...] A warning message can be avoided by using only the exact numbers at the input of Reduce
Now, if the message annoys you, you can turn off this message using
Off[Reduce::ratnz]
which will turn off the warning for all further applications of Reduce , or you can simply turn off this operation using
Quiet@Reduce [...]
If you want to avoid the message, then, as the documentation says, you will need to use exact numbers. One way is to use Rationalize . For instance:
x = 1.391 + 0.771 a; Reduce[Rationalize[x] > 0 && 1 <= a <= 80, {a}] Out[1]= 1 <= a <= 80
It gives you the desired result without warning. There may be other ways depending on what exactly you are doing, but itโs hard to say without knowing your exact expression. Hope this helps.
source share