Bug introduced in 9.0.1 or earlier and persisting through 12.3.1 or later
The following has no solution:
FindRoot[x == 1, {x, 0.25, 0, 0.5}]
And Mathematica correctly warns us:
FindRoot::reged: The point {0.5} is at the edge of the search region {0.,0.5} in coordinate 1 and the computed search direction points outside the region.
If we use Quiet, we correctly suppress the message.
The following is exactly the same system, but here we ask for a specific numerical method
FindRoot[x == 1, {x, 0, 0.5}, Method -> "Brent"]
And we receive a similar warning:
FindRoot::bbrac: Method -> Brent is only applicable to univariate real functions and requires two real starting values that bracket the root.
But this time, if we add Quiet, we still receive the same warning.
Why isn't Quiet working (is it a bug)?
Quiet@Check[FindRoot[x == 1, {x, 0.25, 0, 0.5}, Method -> "Brent"], foo]– Szabolcs Feb 24 '13 at 13:56Checkto solve my problem, and I'll wait some more comments/answers before posting it to support. Thank you. – P. Fonseca Feb 24 '13 at 13:59Quietnot suppressing certain messages. Does anyone recall which it is? EDIT: No, it was the converse syndrome: (14140) – Mr.Wizard Feb 24 '13 at 14:05Quietand;together stop the message too. Could also useOff[FindRoot::bbrac]– Sjoerd C. de Vries Feb 24 '13 at 14:41TracePrintreveals two calls toMessage[FindRoot::bbrac]. – Sjoerd C. de Vries Feb 24 '13 at 14:49Off[FindRoot::bbrac]? Works for me.FindRoot[x == 1, {x, 0, 0.5}, Method -> "Brent"]; // Quietworks as well. – Sjoerd C. de Vries Feb 24 '13 at 14:54Message, and one suppressed, but only ifQuietis used. Here's a way to check:messageHandler = Print[{##}] &; InternalAddHandler["Message", messageHandler];It'll show things likeHold[Message[FindRoot::bbrac],True]whereTruemeans not suppressed usingQuiet`. – Szabolcs Feb 24 '13 at 14:54Quietand;. – Szabolcs Feb 24 '13 at 14:55FindRootseems to be called twice too. – Sjoerd C. de Vries Feb 24 '13 at 15:02