# Plotting Primes

This is a double question...

1. I would like to see a plot of primes such that there are concentric circles, with each circle representing a prime and having its number represented as evenly placed points around the circle. For example,

• r=2: two dots 180 degrees apart,
• r=3: three dots 120 degrees apart,
• r=4: five dots 72 degrees apart.

Surely someone has plotted this before but I can't google it and I don't recognise it if I've already seen it. Can someone link to one?

2. If I need to graph it myself, how can I express this on Wolframalpha or something?

Note: absolute math noob, if it's not obvious!

-
you mention the Ulam spiral, you may enjoy this discussion tex.stackexchange.com/questions/44673/…, the only software you need to reproduce the results is LaTeX. – PatrickT Feb 16 '14 at 17:01
How much of the "flavour" of this plot is just odd numbers? What does the plot of all odd numbers look like? – Mark Hurd Feb 17 '14 at 0:06

Here is a Mathematica function that should do what you want:

PrimeCircles[n_] :=
Show[Table[Graphics[Circle[{0, 0}, k]], {k, 1, n}], Table[Table[
Graphics[{PointSize[Large], Point[{k Cos[2 Pi j/Prime[k]],
k Sin[2 Pi j/Prime[k]]}]}], {j, 0, Prime[k] - 1}], {k, 1, n}]]


So for example, PrimeCircles[5] produces

Unfortunately, the ability to use something like this is not available in Wolfram Alpha.

Here is an animation of PrimeCircles[n] for n from 1 to 20:

Or, if you prefer the sizes of the circles to remain constant in the animation,

-
That's it! I don't have any math tools. This is just a curiosity of mine. Can you show a higher density graph with more numbers please??? – bluedog Feb 16 '14 at 7:45
These are awesome answers guys. I am curious to see this for much larger numbers though - like for the Ulam Spiral on the Wikipedia page (en.wikipedia.org/wiki/File:Ulam_1.png). Perhaps, leaving out the circles themselves, and just showing the dots? – bluedog Feb 16 '14 at 7:53

Here is a version without the circles.

You can see it better here: http://i.stack.imgur.com/tqXTT.png

-
Let me know if you want even larger versions, but the field gets pretty uniform (i.e., dull). – Matthew Conroy Feb 16 '14 at 8:01
Awesome. Since the quadrants are copies of each other, is it better to - somehow - spread one quadrant around the circle and ignore the other three? EDIT - Or perhaps, to effectively zoom in on one quadrant might be more logical and meanignful. – bluedog Feb 16 '14 at 8:04
@bluedog The quadrants aren't copies of each other - the half-planes are (there's a symmetry about the $x$ axis), but there's a fundamental asymmetry about the $y$ axis. – Steven Stadnicki Feb 16 '14 at 16:21
I want this as a poster. – J.R. Feb 16 '14 at 17:53

If you want to plot it using wolfram alpha, find the roots of $$(x^2-1)(x^3-1)(x^5-1)(x^7-1) \cdots$$ See my attempt at

http://www.wolframalpha.com/input/?i=roots%28%28x^2-1%29*%28x^3-1%29*%28x^5-1%29%29

If you want to plot it yourself, then the points for any prime $p$ are at $$(1,0) \\ (\cos(\theta), \sin(\theta)) \\ (\cos(2 \theta), \sin(2 \theta)) \\ (\cos(3\theta), \sin(3\theta)) \\ \cdots \\ (\cos((p-1)\theta), \sin((p-1)\theta))$$ where $\theta = 2 \pi/p$.

If you use octave or something similar, then it is just a nested loop. You may also want to vary the radius by the magnitude of the prime;

Added in response to OP's question: Here is a program I wrote in octave

phi=0:0.001:2*pi;
c=cos(phi);
s=sin(phi);
hold off;
plot(0,0); % clear the plot
hold on;
pr=primes(25);
for k=1:length(pr)
p=pr(k);
r=k;
t=0:(p-1);
theta=2*pi/p;
plot(r*c,r*s,':');
plot(r*cos(t*theta), r*sin(t*theta), 'o');
end
axis('off');
axis('square');
hold off;
print('-djpeg', 'primes.jpg');


The above program produced the following plot:

-
Yes, I would really like to see the radius increase by one for each circle. – bluedog Feb 16 '14 at 7:37
By the way, octave is a free program. I would highly recommend it. gnu.org/software/octave – user44197 Feb 16 '14 at 8:38
If you want the radius increase by one, you can plot the roots of $(x^2-1^2)(x^3-2^3)(x^5-3^5)(x^7-4^7)...$ – Casey Chu Feb 16 '14 at 9:13
Finding the roots of giant polynomials seems like a terrible way of plotting these points - rootfinding routines will only give approximations unless your CA system is smart enough to recognize the exact factorization, and these approximations are notoriously inaccurate near linearly-dependent roots (which these are). Alpha does okay with it because it's smart enough to find the roots of each factor individually, but for more than a handful of rings this is pretty messy. – Steven Stadnicki Feb 16 '14 at 16:29
@StevenStadnicki I agree but Wolfram alpha is free but Mathematic is not. I could not think of any other way to do it in Wolfram. I don't think too many have access to expensive software such as Mathematica or Matlab outside the school. I am not sure how else to do it in Wolfram Alpha – user44197 Feb 16 '14 at 17:51