10
$\begingroup$

Bug introduced in 10.0 and fixed in 10.3


It appears that perhaps the iterator variable r is not Block-ed in the ParametricPlot code below. This does not happen with other Plot* commands nor with Table. The plot is produced successfully, however.

r = {0., 0.5, 1.};
ParametricPlot[r {Cos[t], Sin[t]}, {r, 0, 1}, {t, 0, 2 Pi}]

Thread::tdlen: Objects of unequal length in {0.,0.5,1.} {Cos[t],Sin[t]} cannot be combined. >>

Am I doing something wrong, or is it a bug?

This happens in V10.0.2 and V10.1 (Mac OSX). It does not happen in V9. I came across this in my answer to How to make a ArrayPlot/MatrixPlot in polar coordinates?.

$\endgroup$
5
  • 4
    $\begingroup$ It's not a bug. It's a feature called "A New Kind of r" $\endgroup$ Commented Apr 14, 2015 at 3:02
  • 1
    $\begingroup$ I say it's a bug, introduced in v10. v9 is fine. I'm going to add the tag. Can you report it? Note that Evaluated -> False doesn't fix it, but (very weirdly!) Evaluated -> True does! Exactly the opposite of what I would expect. $\endgroup$ Commented Apr 14, 2015 at 3:19
  • $\begingroup$ @Szabolcs I've reported it to WRI. $\endgroup$ Commented Apr 14, 2015 at 3:29
  • 1
    $\begingroup$ In v9 this doesn't print but in v10 it does: x := Print["x!"]; Plot[x, {x, 0, 1}]. $\endgroup$ Commented Apr 14, 2015 at 3:55
  • 1
    $\begingroup$ @Szabolcs These are not equivalent, given r = {0., 0.5, 1.}: Plot[r^2 {2, 3}, {r, 0, 1}, Evaluated -> True] and Plot[Evaluate[r^2 {2, 3}], {r, 0, 1}]. I think they should be. I don't know if that's the same bug or even a bug. Evaluated is no longer documented, it seems, so WRI could argue that the discrepancy is unimportant. $\endgroup$ Commented Apr 14, 2015 at 11:39

1 Answer 1

5
$\begingroup$

I assume it is a bug based on the following findings:

  • In v9.0.1 it does not happen.

  • Adding Evaluated -> False does not fix it. Strangely Evaluated -> True does fix it.

  • As you mention, other plotting functions, such as ParametricPlot3D, do not have this problem, regardless of the Evaluated setting.

This is not an answer, just some arguments on why I think it is a bug.

$\endgroup$
6
  • $\begingroup$ Bug, yes. But, I don't think it's serious as the plotting functions still work, so it is slight evaluation leak. $\endgroup$ Commented Apr 14, 2015 at 20:20
  • $\begingroup$ @rcollyer What about the x := Print["x!"]; Plot[x, {x, 0, 1}] example (which is slightly different)? In v9 it doesn't leak at all. $\endgroup$ Commented Apr 14, 2015 at 20:25
  • $\begingroup$ Right. I was including that. It only prints once, implying the leak is a one time affair; the plot is otherwise unaffected. So, annoying, but not serious. $\endgroup$ Commented Apr 14, 2015 at 20:29
  • $\begingroup$ @rcollyer Agreed, just wanted to check it's really a bug. $\endgroup$ Commented Apr 14, 2015 at 20:38
  • $\begingroup$ @Szabolcs, Dear Szabolcs, your package MaTex has the V10 syntax <||>, so I'd like to know that how to revise it to make this package could be applied in the ealier version. Thanks:) $\endgroup$ Commented Apr 15, 2015 at 7:46

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.