On 2015-02-15 16:59-0000 Arjen Markus wrote:

> Hi Alan,
>
>>
>>> No, when I ran the example for the three languages, I made sure that they 
>>> were all
>> doing the Rosenbrock function. Odd that the sombrero function does not give 
>> these
>> extra PS commands. I will have to check that on my system.
>>> FYI: the extra commands look like this:
>>>
>>> 0.9216 0.5098 0.2784 C 1865 1033 M
>>> Z
>>> 1346 2569 A 1346 2569 D 1346 2569 D 1346 2569 D 1346 2569 D
>>> 1346 2569 D 1346 2569 D 1346 2569 D 1346 2569 D 1346 2569 D 1346 2569
>>> D
>>> 1346 2569 D 1346 2569 D 1346 2569 D 1346 2569 D 1346 2569 D 1346 2569
>>> D
>>> 1346 2569 D 1346 2569 D 1346 2569 D 1346 2569 D 1346 2569 D 1346 2569
>>> D
>>> 1346 2569 D 1346 2569 D 1346 2569 D 1346 2569 D 1346 2569 D 1346 2569
>>> D
>>> 1346 2569 D 1346 2569 D 1346 2569 D 1346 2569 D 1346 2569 D 1346 2569
>>> D
>>> 1346 2569 D 1346 2569 D 1346 2569 D 1346 2569 D 1346 2569 D Z
>>> 1346 2569 A 1346 2569 D 1346 2569 D 1346 2569 D S
>>> 0.9216 0.7725 0.2784 C 1346 2569 M
>>>
>>> And they appear at what seems the start of the fifth and tenth page - the 
>>> sets are
>> identical.
>>> (Detail: in the first line the second number differs)
>>>
>>> ... oops, while I look at this more closely, I see that the extra commands 
>>> appear in
>> the _C_ version, not as I thought the Fortran version. Well, that may make 
>> the riddle
>> easier to solve!
>>
>> For what it is worth, I don't see anything like the above pattern in the 
>> Linux C
>> example 8 results near the start of either page 5 or page
>> 10 for either the Sombrero or Rosenbrock functions.
>>
>
> The Sombrero version is exactly the same under C and Fortran. Very odd.

If you look in the PostScript preamble, the A, D, Z, and S commands
are aliases for the arc and lineto path building commands, the (stroke
newpath) combination, and the stroke command.  So since the same
coordinates are used above for all the path building commands (i.e.,
the path is a degenerate one) the net effect is zero (or else a single
dot).  So I think what is going on here is that the particular
elliptical cutoff boundary we are using for page 5 and page 10 is
producing a degenerate path that appears and disappears due to minute
roundoff error changes and our coarse (16-bit) resolution of our
internal physical coordinates.  In other words, the hypothesis is one
segment of the ellipse is passing exactly half way between two
internal physical grid points so minute rounding errors have a big
effect on which grid point is chosen for the cutoff.  So to avoid this
roundoff error sensitivity for pages 5 and 10, I think all you have to
do is to change the size of the cutoff ellipse slightly.  Also, you
should completely ignore Rosenbrock results from now on since we only
use the Sombrero function in our test suite, and the goal is to avoid
false alarms in those test suite results due to roundoff sensitivity.

Actually, it appears from what you said above that you have already
reached the Sombrero consistency goal for C and Fortran.  If Tcl also
is consistent with those Sombrero results then you are done.  But if
it isn't then proceed as above with a _consistent_ small change in
ellipse size for all 3 languages to avoid the "magic" size value that
makes them roundoff sensitive.  And if such an adjustment works, then
please commit that result and we will adopt that same "non-magical"
ellipse size for all other languges.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to