ExpantaNum.js Explanation

What do the numbers mean?

Exponents

If you are unaware of exponents and the notation:
For whole numbers a and b, then exponents are written ab or a^b, and read "a raised to the power of b", "a to the power of b", "a to the b", or similar.
a^b is equal to a×a×...×a with b a's.
Note that a^b and b^a is not always equal. For example, 2^3 = 2×2×2 = 8, but 3^2 = 3×3 = 9.

Repeated exponents

When the exponents are stacked, such as abc or a^b^c, it is a general consensus that the exponents are calculated from top to bottom, or right to left.
2^3^4 = 2^(3^4) = 2^81 = 2.4178516392292583e+24
(2^3)^4 = 8^4 = 4096

Tetration

Revisit the definitions of multiplication and exponentiation:
\(\begin{align}a\times b&=\underset{b\;a\text{'s}}{\underbrace{a+a+\cdots+a}}\\a\text{^}b&=\underset{b\;a\text{'s}}{\underbrace{a\times a\times\cdots\times a}}\end{align}\)
We can see to extend the series of operation, which tetration achieves:
\(a\uparrow\uparrow b=\underset{b\;a\text{'s}}{\underbrace{a\text{^}a\text{^}\cdots\text{^}a}}\)
Tetration is also written as a^^b.
Remember that the exponents are solved from top.
3^^3 = 3^3^3 = 3^(3^3) = 3^27 = 7625597484987

Hyperoperations

After tetration, the series can be extended such as pentation:
\(a\uparrow\uparrow\uparrow b=\underset{b\;a\text{'s}}{\underbrace{a\uparrow\uparrow a\uparrow\uparrow\cdots\uparrow\uparrow a}}\)
The repeated tetrations are solved from right to left as exponents.
The number of arrows are increased as the operation become powerful. n arrows are often abbreviated as ↑n or {n}. In general, \(a\uparrow^{c+1}b=\underset{b\;a\text{'s}}{\underbrace{a\uparrow^ca\uparrow^c\cdots\uparrow^ca}}\)

Condensing repetitions

Sometimes, you find yourself over welmed by stuff like 10^^^10^^^10^^^10^^10^^10^10^10^328. ExpantaNum.js condenses this by counting the number of repeated operations.
If we have 10{n} repeated m times, it is condensed into (10{n})m or (10{n})^m. These are finally chained back into a number.
The number above can be condensed into (10^^^)^3 (10^^)^2 (10^)^3 328.

J

Using arrows, large numbers such as 10{16}(10{12})^51 (10^^^)^6 eeee104 can be easily written, and numbers not talked about here are relatively close to other numbers, thus is discarded. However, we hit a limit; the notation is strongest if we increase the n in 10{n}10 as if it were a variable. No worries, we can just put numbers with hyperoperators as the number of arrows! Well, we will get some problems. We will get something like 10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10{10^^^(10^^)^520 ee500}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10}10. It is very hard on eyes, and very large in comparison, defeating the purpose of notation numbers in the first place. It also takes a lot of space as text, and it takes so long to write it by hand. I only put this because I could make the computer repeat pieces of text set amount of times. Worst of all, to compare which number are larger, you need to count each individual layers, and that is impractical. There must be a better way to handle such large numbers, right?
Luckily, there is! Function f(x)=10{x}10 is written as Jx. This is defined as a part of PsiCubed2's letter notation. In addition, we can treat this as another operation, this time unary, but we always treated 10{n}x as unary operation "10{n}", so no worries. So, we can now see the above number clearly, written J^45 10^^^(10^^)^520 ee500.