Julia could have a Tau constant

Python is already into the movement. Let’s get into the tau revolution? const taunumber = 6.283



Yes, there is a package for tau: GitHub - JuliaMath/Tau.jl: A Julia module providing the definition of the circle constant Tau (2π)



But in Base we have:

  1. pi
  2. Euler’s number
  3. the Euler-Mascheroni constant
  4. the golden ratio
  5. Catalan’s constant

why don’t we get tau there as well?

1 Like

It only requires to add one line of code to mathconstants.jl.

Base.@irrational tau 6.28318530717958647693 tau

I would make a pull request if I knew how to use GitHub.

There already was one, in 2013: WIP – tau: add MathConst{:τ} by StefanKarpinski · Pull Request #4864 · JuliaLang/julia · GitHub


I am very happy to know that I was not the first one to make this request :slight_smile:

Sorry, ignorance I suppose: but isn’t that just 2*pi?

1 Like

no, pi = tau/2


Humor aside, the point of tau is that the fact that you have to write 2*pi in so many formulas shows somehow that tau = 2*pi is the more fundamental number. Also, from geometry, the circumference of a circle is tau * radius, and the radius is “more fundamental” because the circle is the set of points that are a given radius from the center.

Although I’m inclined to agree, I’m probably the least fanatical tau fan.

1 Like

yes, tau is defined by tau = 2pi

as dlakelan has just said, the point of tau is that in many important formulas in mathematics and physics, pi comes multiplied by 2.

There are many other formulas in math that illustrate this same point.


Is there a unicode character for “pi with three legs”?

As everybody can see, it must be:

π = 2τ


π = 6.283185307179586


τ = 3.1415926535897

Everything else would be too confusing.


I especially like that \tau makes radians very natural. Students often struggle with radians. My guess is, if we used \tau instead of \pi, students would find radians more natural than degrees. “A quarter of a circle? well that’s \tau/4 of course!”


However, it breaks the easy relationship between radius and arclength:

L = \theta~\cdot~r
1 Like

It would be a breaking change, but I would like to be of Irrational type where the destination type changes depending on the context, rather than of Float64 type.

If that were the case, people who want τ could just do τ = 2π on their own.

I believe that is what Tau.jl does

No, a quarter of a circle is still the same number: \pi/2 = \tau/4 \approx 1.57.

It’s just silly that the standard constant (\pi) is a half-circle radians, instead of a full circle.


Just a few minutes ago, I made an amazing mathematical discovery! We have the following:

julia> 411557987 / 65501488 == 2π

It seems that 2π is a simple rational number! So it should be enough to define τ as follows:

julia> const τ = 411557987 // 65501488

Just kidding. How to make it:

julia> r = setprecision(56) do; rationalize(2big(π)) end
411557987 // 65501488

Clearly, the legs of τ and π are under the fraction bar in the denominator. So one leg less makes a factor of 2 larger.


omg, I didn’t even stop to think about it :joy: you’re totally right