What are the properties of square-matrix algebra with this equivalence class?
Consider the set of all square matrices with the following equivalence class:
$\mathbf{A}\sim\mathbf{A}\otimes\mathbf{I}_n$,
for each $n$, where $\otimes$ is Kronecker product and $\mathbf{I}_n$ is identity matrix of order $n$.
For instance, the following matrices are considered equivalent:
$$\left( \begin{array}{cc} 1 & 2 \\ 3 & 4 \\ \end{array} \right)=\left( \begin{array}{cccc} 1 & 0 & 2 & 0 \\ 0 & 1 & 0 & 2 \\ 3 & 0 & 4 & 0 \\ 0 & 3 & 0 & 4 \\ \end{array} \right)$$This rule allows to add, make dot product of any two square matrices, as well as to rise a matrix to matrix power irrespective of their orders.
For instance,
$\pmatrix{1&2\\3&4} \cdot \pmatrix{1&2&3\\4&5&6\\7&8&9}=\left( \begin{array}{cccccc} 1 & 0 & 0 & 2 & 0 & 0 \\ 0 & 1 & 0 & 0 & 2 & 0 \\ 0 & 0 & 1 & 0 & 0 & 2 \\ 3 & 0 & 0 & 4 & 0 & 0 \\ 0 & 3 & 0 & 0 & 4 & 0 \\ 0 & 0 & 3 & 0 & 0 & 4 \\ \end{array} \right)\cdot\left( \begin{array}{cccccc} 1 & 0 & 2 & 0 & 3 & 0 \\ 0 & 1 & 0 & 2 & 0 & 3 \\ 4 & 0 & 5 & 0 & 6 & 0 \\ 0 & 4 & 0 & 5 & 0 & 6 \\ 7 & 0 & 8 & 0 & 9 & 0 \\ 0 & 7 & 0 & 8 & 0 & 9 \\ \end{array} \right)$
I wonder, what properties the resulting infinite-dimensional ring has? Obviously it includes subsets isomorphic to all possible hypercomplex systems, including quaternions, split-quaternions, tessarines, grassman numbers, triplex numbers, $\mathbb{R}^n$, hyperbolic numbers, Clifford algebras and all possible their combinations, allowing to make arithmetic operations on hypercomplex numbers from different systems and mix them in one expression.
But what would be the overall algebraic outlook of this set?
Below is the code for Mathematica system that realises this algebra:
Clear["Global`*"]
$PrePrint =.; FormatValues@Matrix = {};
Hold[MakeBoxes[Matrix[a_], StandardForm] ^:=
Block[{Internal`$ConvertForms = {}},
TemplateBox[{MakeBoxes[MatrixForm@a][[1, 1, 3]]}, "Matrix",
DisplayFunction -> (RowBox@{style@"(", "\[NoBreak]", #,
"\[NoBreak]", style@")"} &)]]] /.
style[string_] -> StyleBox[string, FontColor -> Red] // ReleaseHold
Unprotect[Dot];
Dot[x_?NumberQ, y_] := x y;
Dot[A_?SquareMatrixQ, B_?SquareMatrixQ] :=
Matrix[KroneckerProduct[A,
IdentityMatrix[LCM[Length[A], Length[B]]/Length[A]]] .
KroneckerProduct[B,
IdentityMatrix[LCM[Length[A], Length[B]]/Length[B]]]] /;
Length[A] != Length[B];
Protect[Dot];
Unprotect[Power];
Power[0, 0] = 1;
Protect[Power];
Matrix /: Matrix[x_?MatrixQ] :=
First[First[x]] /; x == First[First[x]] IdentityMatrix[Length[x]];
Matrix /: NonCommutativeMultiply[Matrix[x_?MatrixQ], y_] :=
Dot[Matrix[x], y];
Matrix /: NonCommutativeMultiply[y_, Matrix[x_?MatrixQ]] :=
Dot[y, Matrix[x]];
Matrix /: Dot[Matrix[x_], Matrix[y_]] := Matrix[x . y];
Matrix /: Matrix[x_] + Matrix[y_] := Matrix[x + y];
Matrix /: x_?NumericQ + Matrix[y_] :=
Matrix[x IdentityMatrix[Length[y]] + y];
Matrix /: x_?NumericQ Matrix[y_] := Matrix[x y];
Matrix /: Matrix[x_]*Matrix[y_] := Matrix[x . y] /; x . y == y . x;
Matrix /: Power[Matrix[x_?MatrixQ], y_?NumericQ] :=
Matrix[MatrixPower[x, y]];
Matrix /: Power[Matrix[x_?MatrixQ], Matrix[y_?MatrixQ]] :=
Exp[Matrix[y] . Log[Matrix[x]]];
Matrix /: Log[Matrix[x_?MatrixQ], Matrix[y_?MatrixQ]] :=
Log[Matrix[x]] . Log[Matrix[y]]^-1
Matrix /: Im[Matrix[x_?MatrixQ]] := Matrix[Im[x]]
Matrix /: Re[Matrix[x_?MatrixQ]] := Matrix[Re[x]]
Matrix /: Arg[Matrix[x_?MatrixQ]] := Matrix[Arg[x]]
Matrix /: Dot[Matrix[A_?SquareMatrixQ], Matrix[B_?SquareMatrixQ]] :=
Matrix[KroneckerProduct[A,
IdentityMatrix[LCM[Length[A], Length[B]]/Length[A]]] .
KroneckerProduct[B,
IdentityMatrix[LCM[Length[A], Length[B]]/Length[B]]]]
$Post2 =
FullSimplify[# /.
f_[args1___?NumericQ, Matrix[mat_], args2___?NumericQ] :>
Matrix[MatrixFunction[f[args1, #, args2] &, mat]]] &;
$Post = Nest[$Post2, #, 3] /. Dot -> NonCommutativeMultiply &;
Test:
Matrix[{
{1, 3},
{0, 2}
}]^Matrix[{
{1, 0, 1},
{1, 0, 0},
{0, 0, 2}
}]

2 comment threads