Bashicu matrix system

Bashicu matrix system is a notation designed to produce large numbers. It was invented by Bashicu in 2014.

By approximating with FGH, 1-row matrix (primitive sequence system) is level \(\varepsilon_0\) and 2-row matrix (pair sequence system) is level \(\vartheta(\Omega_\omega)\). 3-row matrix

\[\begin{pmatrix} 0 & 1 & 2 & 3 \\ 0 & 1 & 1 & 1 \\ 0 & 1 & 1 & 1 \end{pmatrix}\] is level \(\psi(\psi_{I_\omega}(0))\). FGH ordinal corresponding to n-row matrix

\[\begin{pmatrix} 0 & 1 \\ 0 & 1 \\ \vdots & \vdots \\ 0 & 1 \end{pmatrix}\] is not known. The corresponding function is possibly weaker than Loader's function.

Original Definition
Bashicu originally defined the system with BASIC program language. The program by Bashicu was not intended to be actually run, and because of that Fish wrote a program, Bashicu matrix calculator, intended for demonstrating the calculation process (the demonstration program was verified by Bashicu). Therefore, official definition of Bashicu matrix can be found in the source code of this program. It can calculate both BM1 and BM2.

Bashicu matrix calculator also has a web interface. The program has 4 options of "n increment". The original definition of Bashicu matrix is the option of "n=n * n", and other options are variants. By using the option of "Simulate Hardy function", the calculation exactly matches Hardy function with Wainer hierarchy for ordinals below \(\epsilon_0\).

Definition with mathematical equations
The definition of Bashicu matrix number can be translated by the equations as the followings number \(K\) :

\begin{eqnarray*} \mathrm{Number:}~K&=&\mathrm{Bm}^{10}(9)\\ \mathrm{Function:}~\mathrm{Bm}(n)&=&\mathrm{expand}((\underbrace{0,0,\cdots,0}_{n+1})(\underbrace{1,1,\cdots,1}_{n+1})[n])\\ \mathrm{Rule:}~\mathrm{expand}([n])&=&n\\ \mathrm{expand}({\boldsymbol S}[n])&=&\left\{\begin{array}{ll} \mathrm{expand}({\boldsymbol S}_0\cdots{\boldsymbol S}_{X-2}[f(n)])&(\mathrm{if}~\forall y~S_{(X-1)y}=0)\\ \mathrm{expand}({\boldsymbol G}{\boldsymbol B}^{(0)}{\boldsymbol B}^{(1)}{\boldsymbol B}^{(2)} \cdots {\boldsymbol B}^{(f(n))}[f(n)])&(\mathrm{otherwise})\\ \end{array}\right.\\ \mathrm{Activation~function:}~f(n)&=&n^2\\ \mathrm{Matrix:}~{\boldsymbol S}&=&{\boldsymbol S}_0{\boldsymbol S}_1\cdots{\boldsymbol S}_{X-1}\\ \mathrm{Vector:}~{\boldsymbol S}_x&=&(S_{x0},S_{x1},\cdots,S_{x(Y-1)})\\ \mathrm{Good~part:}~{\boldsymbol G}&=&{\boldsymbol S}_0{\boldsymbol S}_1\cdots{\boldsymbol S}_{r-1}\\ \mathrm{Bad~part:}~{\boldsymbol B}^{(a)}&=&{\boldsymbol B}_0^{(a)}{\boldsymbol B}_1^{(a)}\cdots{\boldsymbol B}_{X-2-r}^{(a)}\\ {\boldsymbol B}_x^{(a)}&=&(B_{x0}^{(a)},B_{x1}^{(a)},\cdots,B_{x(Y-1)}^{(a)})\\ B_{xy}^{(a)}&=&S_{(r+x)y}+a\Delta_{y}A_{xy}\\ \mathrm{Ascension~offset:}~\Delta_{y}&=&\left\{\begin{array}{ll} S_{(X-1)y}-S_{ry}&(\mathrm{if}~y\lt t)\\ 0               &(\mathrm{if}~y\geq t) \end{array}\right.\\ \mathrm{Ascension~matrix:}~A_{xy}&=&\left\{\begin{array}{ll} 1 &(\mathrm{if}~ \exists a( r=(P_{y})^a(r+x)))\\ 0 &(\mathrm{otherwise}) \end{array}\right.\\ \mathrm{Lowermost~nonzero:}~t&=&\max\{y|S_{(X-1)y}\gt 0\}\\ \mathrm{Bad~root:}~r &=& P_t(X-1)\\ \mathrm{parent~of}~S_{xy}:~P_{y}(x)&=&\left\{\begin{array}{ll} \max\{p|p\lt x \land S_{py} \lt S_{xy} \land \exists a( p=(P_{y-1})^a(x))\} & (\mathrm{if}~y\gt 0)\\ \max\{p|p\lt x \land S_{py} \lt S_{xy} \} & (\mathrm{if}~y=0)\\ \end{array}\right.\\ \end{eqnarray*}

\(\mathrm{expand}\) is the function to expand a matrix with the expansion rule BM4 (=BM2.3, the two are same rule).

Calculation example
The expansion of \((0,0,0)(1,1,1)(2,2,2)(3,3,3)(4,2,0)[2]\) with the rule above shown as below.

\begin{eqnarray*}{\boldsymbol S} &=& {\boldsymbol S}_0{\boldsymbol S}_1{\boldsymbol S}_2{\boldsymbol S}_3{\boldsymbol S}_4\\ &=&(S_{00},S_{01},S_{02})(S_{10},S_{11},S_{12})(S_{20},S_{21},S_{22})(S_{30},S_{31},S_{32})(S_{40},S_{41},S_{42})\\ &=&(0,0,0)(1,1,1)(2,2,2)(3,3,3)(4,2,0) \end{eqnarray*}

\[\begin{pmatrix} 0 & 1 & 2 & 3 & 4\\ 0 & 1 & 2 & 3 & 2\\ 0 & 1 & 2 & 3 & 0\\ \end{pmatrix}[2] = \begin{pmatrix} 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15\\ 0 & 1 & 2 & 3 & 1 & 2 & 3 & 1 & 2 & 3 & 1 & 2 & 3 & 1 & 2 & 3 \\ 0 & 1 & 2 & 3 & 1 & 2 & 3 & 1 & 2 & 3 & 1 & 2 & 3 & 1 & 2 & 3 \\ \end{pmatrix}[4]\]
 * Parent in the first row: The rightmost element which is smaller and in the left side than the rightmost column \(S_{40} = 4\) is \(S_{30}=3\). In this way, the rightmost element which is smaller and in the left side than the rightmost column is called parent in the 1st row. The column which includes the parent of \(S_{xy}\) is represented as \(P_y(x)\).
 * Ancestors: For an element, the parents of its ancestors, or the element itself, are defined as the ancestors recursively. In this case, the ancestors of \(S_{40} = 4\) are \(S_{40}=4,~S_{30}=3,~S_{20}=2,~S_{10}=1~and~S_{00}=0\).
 * Parents in the second or the lower rows: In the second or the lower row, the parent of \(S_{xy}\) is defined as the element:
 * which is in the same column as a column of one of ancestors \((P_{y-1})^a(x)\) of the upper element \(S_{x,y-1}\).
 * which is smaller and in the right than the element \(S_{xy}\)
 * bad root: The column \(P_t(X-1)\) which has the parent of the rightmost column \(X-1\) of the lowermost nonzero row \(t\) is called as bad root. The bad root takes up the boundary between non-copied part good part \({\boldsymbol G}\) and copied part \({\boldsymbol B}^{(0)}\). In this case, the second row is the lowermost nonzero row and the bad root is the parent of the rightmost column of the second row \(S_{41} = 2\), that is \(S_{11}=1\), then the bad root is second column (\(r=1\)).
 * Good Part and Bad part: \({\boldsymbol S}_r = (1,1,1)\) so that \({\boldsymbol G} = (0,0,0)\), then we get \({\boldsymbol B}^{(0)} = (1,1,1)(2,2,2)(3,3,3)\).
 * Ascension Offset: Using the value of the bad root \({\boldsymbol S}_r = (1,1,1)\) and the value of cut children \({\boldsymbol S}_{X-1} = (4,2,0)\), the ascension offset is calculated as \((\Delta_0, \Delta_1, \Delta_2) = (3,0,0)\).
 * Ascension Matrix: Ascension Matrix has the value 1 for the only element which has the bad root as its ancestor. In this case, we get \(A_{xy}=(1,1,1)(1,1,1)(1,1,1)\).
 * Copying Bad Part: Therefore, the bad part \({\boldsymbol B}^{(a)}\) becomes \({\boldsymbol B}^{(0)} = (1,1,1)(2,2,2)(3,3,3)\), \({\boldsymbol B}^{(1)} = (4,1,1)(5,2,2)(6,3,3)\), \({\boldsymbol B}^{(2)} = (7,1,1)(8,2,2)(9,3,3)\), \({\boldsymbol B}^{(3)} = (10,1,1)(11,2,2)(12,3,3)\) and \({\boldsymbol B}^{(4)} = (13,1,1)(14,2,2)(15,3,3)\).
 * Expansion rule: According to the Expansion rule, we get \({\boldsymbol S}[2] = {\boldsymbol G}{\boldsymbol B}^{(0)}{\boldsymbol B}^{(1)}{\boldsymbol B}^{(2)}{\boldsymbol B}^{(3)}{\boldsymbol B}^{(4)}[4]\) that means (0,0,0)(1,1,1)(2,2,2)(3,3,3)(4,2,0)[2] = (0,0,0)(1,1,1)(2,2,2)(3,3,3)(4,1,1)(5,2,2)(6,3,3)(7,1,1)(8,2,2)(9,3,3)(10,1,1)(11,2,2)(12,3,3)(13,1,1)(14,2,2)(15,3,3)[4]. This can be shown as the following matrix representation:

This result is matched with the calculation result of Bashicu matrix calculator.

Revisions
The first question was whether the calculation always terminates. It was not answered until User:KurohaKafka posted a proof of this fact on Japanese BBS 2ch.net in 2016. However, User:Hyp cos disproved it in the talk page of this article by showing a non-teminating sequence. After that, Bashicu updated the system, making Bashicu Matrix version 2 (BM2), showing the algorithm by a BASIC program. After that BashicuHyudora made a slide to explain its expansion rule.

After that, though Bashicu update the definition as BM3 on June 12th, 2018, User:Alemagno12 showed the non-terminated pattern of the BM3 on June 29th, 2018.

User:Koteitan proposed another fixing idea of BM2 in twitter and implement a C code as version BM2.3. He also shows the expansion results between BM2 and BM2.3 are different with a paticular matrix (0,0,0,0)(1,1,1,1)(2,2,1,1)(3,3,1,1)(4,2,0,0)(5,1,1,1)(6,2,1,1)(7,3,1,1). After that, User:Bubby3 showed BM2 is non-terminated with the matrix on August 28th, 2018.

Finally Bashicu fixed the definition and the latest version is version BM4. koteitan analysed the code and said the behavior of BM4 is completely same as one of BM2.3.

Though the last official revision by bashicu is BM4, There are many revisions, 3.1, 3.1.1 or 3.2 are proposed.

Analysis
The growth rate of 1-row matrix (primitive sequence system) is \(f_{\varepsilon_0}(n)\) and the growth rate of 2-row matrix (pair sequence system) is \(f_{\vartheta(\Omega_\omega)}(n)\) in BM1.

Complete analysis of the growth rate of 3-row matrix (trio sequence system) with FGH is difficult because the system is so strong. People are analyzing the system to some extent.