I got a reply to my last bug report, acknowledging that it’s a bug and saying they’d send it on to their engineers.

Here’s another:

The first one should only evaluate to zero if it’s zero for all a,b. The second indicates that that’s not the case. This one cost me several hours, as I searched elsewhere for why my results didn’t make sense. (The offending bit was originally in the middle of a larger expression; otherwise, I would have figured it out more quickly.)

Help out a novice: What is ThreeJSymbol?

Any idea how many bugs there are in Mathematica and if any wrong results have been published because of them?

Of course, some things are too difficult to check by hand, but with traditional compiled languages* one can run the code on various combinations of compiler, OS and hardware and be reasonably sure that they won’t have the same bugs.

*I hear all the young dudes screaming. What’s compiled? What’s traditional? What’s language?

Sorry for the slow reply. ThreeJSymbol is Mathematica’s terminology for the Wigner 3j symbol. The 3j symbols contain the same information as the Clebsch-Gordan coefficients, just normalized differently.

Either way, in quantum mechanics they tell you the couplings between angular momentum states. They answer questions like this: If you have a system with a certain amount of spin angular momentum and a certain amount of orbital angular momentum, what are the possible values of the total angular momentum, and what are the probability amplitudes for each?

I need them for things that have nothing to do with quantum mechanics. It turns out that they are also (up to boring constants and the like) the answer to this question: what do you get when you integrate the product of three spherical harmonics over the entire sphere? For one reason or another, I needed to incorporate such integrals into something I was calculating.

Update: the person who replied to my bug report initially denied there was a problem, but when I explained it again, more clearly this time, he agreed. It’s been sent on to the relevant coders, presumably to be fixed in the next version.