This blog has been replaced. A new Alpha Function blog should be referred to instead. The blog can be found here.

(previous) Alpha Function

The Alpha Function has one parameter: \(\alpha(r)\) where r is any real number. It is derived from the Strong D Function with a variable number of input parameters. This blog replaces the old description of the Alpha Function.

What is the Alpha Function

My motivation to create this function was to develop a finely grained number notation system for really big numbers. \(\alpha(1)\) for example can be used to reference the number 2. Therefore 1 is the Alpha Index for the number 2. Alpha needs to reference big numbers very quickly to be useful, therefore it uses the Strong D Function for this purpose. Alpha should also be strictly hierarchical and every number a > b, must reference larger numbers, so that \(\alpha(a) >> \alpha(b)\) in all cases. The function is finely grained. It accepts a real number input and offers some finesse to locate large big numbers.

The Alpha Function is defined recursively based on a series of binary decisions.  The logic can be explained by referring to the following notation.

Some Notation

Following notation helps to explain the behaviour of Strong D Functions and the logic of the Alpha Function.

\(D(m_{[x]}) = D(m_1,m_2,...,m_x)\)

\(D(m_{[x]},n_{[y]}) = D(m_1,m_2,...,m_x,n_1,n_2,...,n_y)\)

\(D(1,0_{[y]}) = D(D(1_{[y]})_{[y]})\)

\(D(m,n_{[y]}) = D(m-1,D(m,n_{[y-1]},n_y-1)_{[y]})\)

\(D(m_{[x]},n,0_{[y]}) = D(m_1-1,D(m_{[x]},n-1,n_{[y]})_{[x+y]})\) when x>0 and which is equal to

\(= D(m_{[x]},n-1,n_{[y-1]},n_y+1)\)

Alpha Function Logic

The Alpha Function is defined using the following logic.

\(\alpha(r) = D(D(m_{[x]})_{[x]})\) where \(2^{x-1} <= r < 2^x\)   and

\(\alpha(2^x) = D(1, 0_{[x]})\)

The values of \(m_{[x]}\) are calculated based on the value of r but only legal values can be used which follow these restrictions:

  • duplicate values should be avoided
  • out of sequence results must be avoided

The second constraint is important to force \(\alpha(a) >> \alpha(b)\) whenever a > b.  Additional logic is derived from the following rules:

Maximum Value Rule: M1

\(D(1,0_{[x]}) = D(D(1_{[x]})_{[x]})\)


\(D(m_{[x]}) < D(D(1_{[x]})_{[x]})\)  

\(<= D(D(1_{[x]})_{[x]})-1\) or alternatively

\(<= D(D(1_{[x]})_{[x-1]},D(1_{[x-1]},0))\) Rule M1a


\(m_1 >= 1\)   Rule M1b

Maximum Value Rule: M2

\(D(m_{[x]},n+1,0_{[y]}) = D(m_{[x]},n,n_{[y-1]}+1,n_y+2)\)


\(D(m_{[x]},n,p_{[y]}) < D(m_{[x]},n,n_{[y-1]}+1,n_y+2)\)

\(<= D(m_{[x]},n,n_{[y-1]}+1,n_y+2)-1\) or alternatively

\(<= D(m_{[x]},n,n_{[y]}+1)\) Rule M2a


\(p_{[y]} <= n_{[y]}+1\) Rule M2b

Maximum Value Rule: M3

It can also be shown that the only legal values for D functions in the form:


are when

\(m_i <= m_{i-1}+1\)   for all   \(3 <= i <= x\)

Maximum Value Rule: M4

The final rule is used for D functions of the form:

\(D(n+1,0_{[y]}) = D(n,D(n,n_{[y]}+1)_{[y]}\)


\(D(n,p_{[y]}) < D(n,D(n,n_{[y]}+1)_{[y]})\)   \(<= D(n,D(n,n_{[y]}+1)_{[y]}-1)\)   or alternatively

\(<= D(n,D(n,n_{[y]}+1)_{[y-1]},D(n,n_{[y-1]}+1,n))\)   Rule M4a


\(p_i <= D(n,n_{[y]}+1)\)   for all   \(1 <= i < y\)   Rule M4b


\(p_y <= D(n,n_{[y-1]}+1,n)\)   Rule M4c

Some Calculations

Program Code was used to calculate these examples.

\(\alpha(0.00) = D() = 0\)

\(\alpha(0.50) = D(0) = 1\)

\(\alpha(1.00) = D(1) = 2\)

\(\alpha(2.00) = D(1,0) = 3\)

\(\alpha(2.08) = D(1,1) = 4\)

\(\alpha(2.16) = D(1,2) = 5\)

\(\alpha(2.56) = D(2,1) = 11\)

\(\alpha(e) = D(2,6) = 26\)

\(\alpha(3.00) = D(3,0) = 59\)

\(\alpha(3.04) = D(3,2) = 563\)

\(\alpha(\pi) = D(3,14) = 301327043\)

\(\alpha(3.52) = D(4,0) >>\) Googol

\(\alpha(3.6) = D(4,1) >> f_{\omega}(3)\)

\(\alpha(3.64) = D(4,2) >>\) Googolplex

\(\alpha(4.00) = D(1,0,0)\)

\(\alpha(4.0005) = D(1,0,1) >> g_2\) where \(g_{64}\) is Graham's number

\(\alpha(4.008304) = D(1,11,0) >> D(1,9,9) >>\) Graham's number

\(\alpha(4.1250) = D(2,0,0) >> f_{\omega+1}^2(3)\)

\(\alpha(4.1255) = D(2,0,1) >> f_{\omega+2}(3)\)

\(\alpha(4.2501) = D(3,0,1) >> f_{\omega.2}(3)\)

\(\alpha(6) = D(D(1,0,0),0,0) = D(\alpha(4),0,0)\)

\(\alpha(6.5) = D(D(1,0,1),0,0) = D(D(D(4,4),D(4,4)),0,0)\)

\(\alpha(8) = D(1,0,0,0) = D(D(1,1,1),D(1,1,1),D(1,1,1))\)

\(\alpha(8.tba) = D(D(3,0,1),0,0) >> f_{\omega.2+1}(3)\) This result is being checked. Work in progress

\(\alpha(9) = D(D(59,0,0),0,0,0) = D(\alpha(5),0,0,0)\)

\(\alpha(16) = D(1,0,0,0,0)\)

\(\alpha(32) = D(1,0,0,0,0,0)\)

\(\alpha(48) = D(D(1,0,0,0,0,0),0,0,0,0,0) = D(\alpha(32),0,0,0,0,0)\)

\(\alpha(125) = D(D(1,1,1,1,0,1,0),0,0,0,0,0,0)\)

\(\alpha(128) = D(1,0,0,0,0,0,0,0)\)

Program Code and Description

Version 1 of the program code for the Alpha Function is available here. The code is not complete and various errors will be corrected in Version 2 (work in progress).

Comments and Questions

Look forward to comments and questions. I am learning heaps by writing these blogs and correcting all the mistakes the community finds in them !

Cheers B1mb0w.


The Alpha Function

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.