Wolfram Computation Meets Knowledge

A New Slant in Mathematica

Longtime Mathematica user Flip Phillips recently sent us this tremendously amusing error message generated by Mathematica. Much as you might think when stumbling upon a pickup truck hanging from a tree, your first reaction is probably, “How does something like that even happen??”

Diagonal error message sent in by Flip Phillps—click to enlarge


The answer is powerful, integrated design. An error message like this is possible only in a system that deeply integrates graphical and symbolic environments, and goes to great lengths to ensure that everything that ought to work, does work.

Flip, unfortunately, did not save anything but a screen shot of the error, so we may never know the exact details of what happened, but it’s not hard to figure out that a Rotate function was involved.

Rotate is a wrapper that makes a lot of sense in the context of graphics. For example, you can rotate a rectangle:

Graphics[Rotate[Rectangle[{0, 0}, {1, 1}], π/6]]

Rotated rectangle

You can even make a little slider interface to rotate it by different amounts:

Manipulate[Graphics[Rotate[Rectangle[{0, 0}, {1, 1}], Θ]], {Θ, 0, 2 π}]

But there’s no fundamental reason why Rotate shouldn’t work on everything, including text and mathematical expressions completely outside the context of graphics. And in Mathematica, we try to ensure that if something should work, it does work, because you just never know when it might come in handy.

So for example you can rotate the result of an integration:

Rotate[Integrate[1/(1 - x^3), x], π/4]

Rotated integration results

The implementation of Rotate, and similar formatting constructs, is deep and complete. Rotated objects, for example, are perfectly acceptable as variable names:

Apart[1/(1 - Rotate[bob, 3 Pi/4]^9)]

Output with rotated variable names

Yes of course you can make an interactive version of that too:

Manipulate[Apart[1/(1 - Rotate[bob, Θ]^9)], {Θ, 0, 2 π}]
Clearly what happened in the case of this error message is something along these lines:

Rotate[RandomReal[100, {15, 15}], 3 Pi/4]

Rotated block of RandomReal results

Seen in this context, there’s really no mystery: this is simply an error message generated in the course of working with rotated objects, perhaps a raster image meant to go inside a graphics object (which would explain the 2D array of numbers).

What the pickup truck is doing in the tree you will have to figure out on your own.

Comments

Join the discussion

!Please enter your comment (at least 5 characters).

!Please enter your name.

!Please enter a valid email address.

19 comments

  1. It may be a cool bug, but I think you’d still have to say it’s a bug…

    Reply
  2. I donot know mathematica …. I wish i knew mathematica, … amazing programming language …..

    Reply
  3. Well, yes it’s a bug, but it’s a bug in Flip’s Mathematica code, not a bug in Mathematica itself. Flip wrote some kind of program in Mathematica which is probably trying to display a rotated raster, but he made a mistake in his code, which correctly caused Mathematica to display this error message.

    Reply
  4. quote:
    “but he made a mistake in his code, which correctly caused Mathematica to display this error message”

    :), hoho ,a little tricky

    Reply
  5. The “powerful, integrated design” is a great idea — I only wish Mathematica actually took it more seriously.

    While I can Rotate[] everything, I can’t even Translate[] one lousy Plot relative to another.
    While I can Show[] multiple 2D plots, I can’t Show[] a 2D plot along with a 3D plot.
    While I can create variables using subscripts and superscripts that superficially look like their mathematical counterparts, the illusion falls apart as soon as I try anything sophisticated, because they are constructed via a mechanism completely unlike the way “standard” symbols are constructed in Mathematica.

    How about the goal for Mathematica 7.1 be the CONSISTENCY edition?

    Reply
  6. Maynard are you using Symbolize to create your sub and super scripted symbols?

    Reply
  7. Could Mathematica violate the Heisenberg Uncertainty Principle? IOW, could Mathematica create code that would accurately render (in visible scale) the behavior of subatomic particles?

    Reply
  8. I’m also find it frustrating sometimes when I try things and it does not work, but I find it always my fault not Mathematica’s developers.
    TRY HARDER Maynard

    Reply
  9. It was nice,thanks for making mistake in code. ho.ho..ho………!

    Reply
  10. Mathematica is nice, Mathematica is like woman, you must to write very very nice in order to make many things

    Reply
  11. thank you so much

    Reply
  12. Found this page after searching for mathematica 7.1, which I will need because 7.0.1 is a buggy turd. :(

    Reply
  13. Congratulations !
    Very very nice site
    Thank you.

    Reply
  14. I second Maynard. When can we Scale[bob,{0,0.5}]? Try flipping a complicated graphics object over the x-axis and then talk to me about deeply integrated systems.

    Reply
  15. Your site is very good. There are useful information and most importantly, for sharing great. Thank you.

    Reply
  16. is the math invented or discovered? :)

    Reply