Re: an issue of consistency
- To: mathgroup at smc.vnet.net
- Subject: [mg112382] Re: an issue of consistency
- From: "David Park" <djmpark at comcast.net>
- Date: Sat, 11 Sep 2010 05:46:35 -0400 (EDT)
I would say it is not only inconsistent, but an outright bug because graphics routinely converts exact expressions to approximate numbers and Root objects are supposed to be exact. Sometimes this occurs simply by mixing the exact expression with an approximate number as in the following (which works): b = Root[#1^5 - # + Log[2] &, 1]; Plot[b + x, {x, 0, 2}] But when an exact number appears in a list unmixed with an approximate number, such as in Point, Line, Rectangle or Circle, then it doesn't get converted by the mixing mechanism and WRI must apply N (or something equivalent) in their graphics algorithms. It is inexplicable and probably some kind of subtle bug that b doesn't get converted. Other kinds of exact numbers are converted. In numerical graphics algorithms it's a bug. David Park djmpark at comcast.net http://home.comcast.net/~djmpark/ From: Andrzej Kozlowski [mailto:akoz at mimuw.edu.pl] This post is about a mild dispute I have been having with Wolfram's technical support. It concerns behaviour that I see as inconsistent and Technical Support seems to insist otherwise. I would not claim that it actually represents a "bug" but I discovered it in a "real life" situation, it was unexpected and took a while to see what the cause of it was. In any case, I am not writing to "complain", but to find out if anyone can justify the behaviour that I am going to describe as "consistent". Technical Support thinks it is, but I can't understand their reasoning. Consider the two "root object" numbers: a = Root[#1^5 - # + 1 &, 1]; b = Root[#1^5 - # + Log[2] &, 1]; The first is an algebraic number, the second is not, but they are both real numbers which can be computed to arbitrary precision, e.g. N[{a, b}, 10] {-1.167303978,-1.127288474} O.K. now compare this: Graphics[Point[{{Root[#1^5 - # + 1 &, 1], 0}}]] and this: Graphics[Point[{{Root[#1^5 - # + Log[2] &, 1], 0}}]] In the first case Graphics forces N to be automatically applied while in the second case one needs to do so manually: Graphics[Point[{{Root[#1^5 - # + Log[2] &, 1], 0}}]]//N This seems to me to be inconsistent, or at least I do not know of nay obvious reason why the first number being algebraic and the second number not being so should make any difference to how they are treated by Graphics. Technical Support claims otherwise but is unable to provide a reason that I can understand. Can anyone else? Andrzej Kozlowski