login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for SandBoxFrobeniusAlgebra revision 18 of 26

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Editor: Bill Page
Time: 2011/02/15 23:29:55 GMT-8
Note: clean up notation

changed:
-An n-dimensional algebra is represented by a (1,2)-tensor
An n-dimensional algebra is represented by a (2,1)-tensor

changed:
-Given two vectors $U=\{ u_i \}$ and $V=\{ v_j \}$
-\begin{axiom}
-U:T := unravel([script(u,[[i]]) for i in 1..n])
-V:T := unravel([script(v,[[i]]) for i in 1..n])
-\end{axiom}
-the tensor 'Y' operates on their tensor product to
-yield a vector $W=\{ w_k = {y_k}^{ji} u_i v_j \}$
-\begin{axiom}
-W:=contract(contract(Y,3,product(U,V),1),2,3)
-\end{axiom}
-Diagram::
-
-  U   V
-  2i  3j
Given two vectors $P=\{ p_i \}$ and $Q=\{ q_j \}$
\begin{axiom}
P:T := unravel([script(p,[[i]]) for i in 1..n])
Q:T := unravel([script(q,[[i]]) for i in 1..n])
\end{axiom}
the tensor $Y$ operates on their tensor product to
yield a vector $R=\{ r_k = {y_k}^{ji} p_i q_j \}$
\begin{axiom}
R:=contract(contract(Y,3,product(P,Q),1),2,3)
\end{axiom}
Pictorially::

  Q   P
  2j  3i

changed:
-    W
-
-or in a more convenient notation:
-\begin{axiom}
-W:=(Y*U)*V
-\end{axiom}
-The algebra 'Y' is commutative if the following tensor
    R

In Axiom we may use the more convenient tensor inner
product denoted by '*' that combines tensor product with
a contraction on the last index of the first tensor and
the first index of the second tensor.
\begin{axiom}
R:=(Y*P)*Q
\end{axiom}
An algebra $Y$ is commutative if the tensor
$\Pi = \{ {\pi_k}^{ji} = {y_k}^{ji}-{y^k}^{ij} \}$

changed:
-KK:=Y-reindex(Y,[1,3,2])
XY:=Y-reindex(Y,[1,3,2])

changed:
-KB:=groebner(ravel(KK))
-\end{axiom}
-The algebra 'Y' is anti-commutative if the following tensor
groebner(ravel(XY))
\end{axiom}
The algebra 'Y' is anti-commutative if the tensor
$\Xi = \{ {\xi_k}^{ji} = {y_k}^{ji}+{y^k}^{ij} \}$

changed:
-AK:=Y+reindex(Y,[1,3,2])
XX:=Y+reindex(Y,[1,3,2])

changed:
-KA:=groebner(ravel(AK))
groebner(ravel(XX))

changed:
-$A=\{ {a_s}^{kji} =  {y_s}^{kr} {y_r}^{ji} - {y_r}^{kj} {y_s}^{ri} \}$
$\Psi  = \{ {\psi_s}^{kji} =  {y_s}^{kr} {y_r}^{ji} - {y_s}^{ri} {y_r}^{kj} \}$

changed:
-AA := reindex(reindex(Y,[1,3,2])*reindex(Y,[1,3,2]),[1,4,3,2])-Y*Y; ravel(AA)
-\end{axiom}
-
-The Jacobi identity requires the following tensor to be zero::
YY := reindex(reindex(Y,[1,3,2])*reindex(Y,[1,3,2]),[1,4,3,2])-Y*Y; ravel(YY)
\end{axiom}

The Jacobi identity requires the following (3,1)-tensor
$\Phi = \{ {\phi_s}^{kji} =  {y_s}^{kr} {y_r}^{ji} - {y_s}^{ri} {y_r}^{kj} - {y_s}^{ri} {y_r}^{jk} \}$
to be zero::

changed:
-BA := AA - reindex(contract(Y,1,Y,2),[3,1,4,2]); ravel(BA)
-\end{axiom}
-A scalar product is denoted by $U = \{ u^{ij} \}$
YYX := YY - reindex(contract(Y,1,Y,2),[3,1,4,2]); ravel(XYY)
\end{axiom}
A scalar product is denoted by the (2,0)-tensor
$U = \{ u^{ij} \}$

changed:
-  We say that the scalar product is "associative" if the following
-  tensor equation holds::
  We say that the scalar product is "associative" if the tensor
  equation holds::

changed:
-\begin{axiom}
-UA := reindex(reindex(U,[2,1])*reindex(Y,[1,3,2]),[3,2,1])-U*Y
  In other words, if the following tensor is zero
  $ \Omega = \{ \omega^{kji} =  {Y_r}^{kj} U^{ri} - U^{kr} {Y_r}^{ji} \} $

\begin{axiom}
YU := reindex(reindex(U,[2,1])*reindex(Y,[1,3,2]),[3,2,1])-U*Y

changed:
-K := jacobian(ravel(UA),concat(map(variables,ravel(Y)))::List Symbol);
-YY := transpose matrix [concat(map(variables,ravel(Y)))::List Symbol];
-K::OutputForm * YY::OutputForm = 0
-\end{axiom}
-The matrix 'K' transforms the coefficients of the tensor 'Y'
-into coefficients of the tensor 'UA'. We are looking for
-coefficients of the tensor 'U' such that 'K' transforms 'Y'
-into 'UA=0' for any 'Y'.
K := jacobian(ravel(YU),concat(map(variables,ravel(Y)))::List Symbol);
yy := transpose matrix [concat(map(variables,ravel(Y)))::List Symbol];
K::OutputForm * yy::OutputForm = 0
\end{axiom}
The matrix 'K' transforms the coefficients of the tensor $Y$
into coefficients of the tensor $\Omega$. We are looking for
coefficients of the tensor $U$ such that 'K' transforms the
tensor $Y$ into $\Omega=0$ for any $Y$.

changed:
-UAS:T := unravel(map(x+->subst(x,U[2,1]=U[1,2]),ravel UA))
---solve(ravel(UAS),removeDuplicates concat map(variables,ravel(US)))
-KS := jacobian(ravel(UAS),concat(map(variables,ravel(Y)))::List Symbol);
YUS:T := unravel(map(x+->subst(x,U[2,1]=U[1,2]),ravel YU))
KS := jacobian(ravel(YUS),concat(map(variables,ravel(Y)))::List Symbol);

changed:
-UASS:T := unravel(map(x+->subst(x,SS),ravel UAS))
-\end{axiom}
-
-\begin{axiom}
-J := jacobian(ravel(UA),concat(map(variables,ravel(U)))::List Symbol);
-UU := transpose matrix [concat(map(variables,ravel(U)))::List Symbol];
-J::OutputForm * UU::OutputForm = 0
-\end{axiom}
-The matrix 'J' transforms the coefficients of the tensor 'U'
-into coefficients of the tensor 'UA'. We are looking for
-coefficients of the tensor 'Y' such that 'J' transforms 'U'
-into 'UA=0' for any 'U'.
UASS:T := unravel(map(x+->subst(x,SS),ravel YUS))
\end{axiom}

\begin{axiom}
J := jacobian(ravel(YU),concat(map(variables,ravel(U)))::List Symbol);
uu := transpose matrix [concat(map(variables,ravel(U)))::List Symbol];
J::OutputForm * uu::OutputForm = 0
\end{axiom}
The matrix 'J' transforms the coefficients of the tensor $U$
into coefficients of the tensor $\Omega$. We are looking for
coefficients of the tensor $Y$ such that 'J' transforms the
tensor $U$ into $\Omega=0$ for any $U$.

changed:
-in?(JP,ideal ravel AA)
-in?(JP,ideal ravel KK)
-in?(JP,ideal ravel AK)
-in?(JP,ideal ravel BA)
-\end{axiom}
in?(JP,ideal ravel YY)  -- associative
in?(JP,ideal ravel XY)  -- commutative
in?(JP,ideal ravel XX)  -- anti-commutative
in?(JP,ideal ravel YYX) -- Jacobi identity
\end{axiom}

An n-dimensional algebra is represented by a (2,1)-tensor Y=\{ {y_k}^{ji} \ i,j,k =1,2, ... n \} viewed as an operator with two inputs i,j and one output k. For example in 2 dimensions

axiom
n:=2

\label{eq1}2(1)
Type: PositiveInteger?
axiom
T:=CartesianTensor(1,n,FRAC POLY INT)

\label{eq2}\hbox{\axiomType{CartesianTensor}\ } (1, 2, \hbox{\axiomType{Fraction}\ } (\hbox{\axiomType{Polynomial}\ } (\hbox{\axiomType{Integer}\ })))(2)
Type: Domain
axiom
Y:T := unravel(concat concat
  [[[script(y,[[k],[j,i]])
    for i in 1..n]
      for j in 1..n]
        for k in 1..n]
          )

\label{eq3}\begin{array}{@{}l}
\displaystyle
\left[{\left[ 
\begin{array}{cc}
{y_{1}^{1, \: 1}}&{y_{1}^{1, \: 2}}
\
{y_{1}^{2, \: 1}}&{y_{1}^{2, \: 2}}
(3)
Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer)))

Given two vectors P=\{ p_i \} and Q=\{ q_j \}

axiom
P:T := unravel([script(p,[[i]]) for i in 1..n])

\label{eq4}\left[{p_{1}}, \:{p_{2}}\right](4)
Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer)))
axiom
Q:T := unravel([script(q,[[i]]) for i in 1..n])

\label{eq5}\left[{q_{1}}, \:{q_{2}}\right](5)
Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer)))

the tensor Y operates on their tensor product to yield a vector R=\{ r_k = {y_k}^{ji} p_i q_j \}

axiom
R:=contract(contract(Y,3,product(P,Q),1),2,3)

\label{eq6}\begin{array}{@{}l}
\displaystyle
\left[{{{\left({{y_{1}^{2, \: 2}}\ {p_{2}}}+{{y_{1}^{2, \: 1}}\ {p_{1}}}\right)}\ {q_{2}}}+{{\left({{y_{1}^{1, \: 2}}\ {p_{2}}}+{{y_{1}^{1, \: 1}}\ {p_{1}}}\right)}\ {q_{1}}}}, \: \right.
\
\
\displaystyle
\left.{{{\left({{y_{2}^{2, \: 2}}\ {p_{2}}}+{{y_{2}^{2, \: 1}}\ {p_{1}}}\right)}\ {q_{2}}}+{{\left({{y_{2}^{1, \: 2}}\ {p_{2}}}+{{y_{2}^{1, \: 1}}\ {p_{1}}}\right)}\ {q_{1}}}}\right] 
(6)
Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer)))

Pictorially:

  Q   P
  2j  3i
   \ /
    |
    1k
    R

In Axiom we may use the more convenient tensor inner product denoted by * that combines tensor product with a contraction on the last index of the first tensor and the first index of the second tensor.

axiom
R:=(Y*P)*Q

\label{eq7}\begin{array}{@{}l}
\displaystyle
\left[{{{\left({{y_{1}^{2, \: 2}}\ {p_{2}}}+{{y_{1}^{2, \: 1}}\ {p_{1}}}\right)}\ {q_{2}}}+{{\left({{y_{1}^{1, \: 2}}\ {p_{2}}}+{{y_{1}^{1, \: 1}}\ {p_{1}}}\right)}\ {q_{1}}}}, \: \right.
\
\
\displaystyle
\left.{{{\left({{y_{2}^{2, \: 2}}\ {p_{2}}}+{{y_{2}^{2, \: 1}}\ {p_{1}}}\right)}\ {q_{2}}}+{{\left({{y_{2}^{1, \: 2}}\ {p_{2}}}+{{y_{2}^{1, \: 1}}\ {p_{1}}}\right)}\ {q_{1}}}}\right] 
(7)
Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer)))

An algebra Y is commutative if the tensor \Pi = \{ {\pi_k}^{ji} = {y_k}^{ji}-{y^k}^{ij} \} (the commutator) is zero:

   Y  -  X
         Y

axiom
XY:=Y-reindex(Y,[1,3,2])

\label{eq8}\begin{array}{@{}l}
\displaystyle
\left[{\left[ 
\begin{array}{cc}
0 &{-{y_{1}^{2, \: 1}}+{y_{1}^{1, \: 2}}}
\
{{y_{1}^{2, \: 1}}-{y_{1}^{1, \: 2}}}& 0 
(8)
Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer)))

A basis for the ideal defined by the coefficients of the commutator is given by:

axiom
groebner(ravel(XY))

\label{eq9}\left[{{y_{2}^{2, \: 1}}-{y_{2}^{1, \: 2}}}, \:{{y_{1}^{2, \: 1}}-{y_{1}^{1, \: 2}}}\right](9)
Type: List(Polynomial(Integer))

The algebra Y is anti-commutative if the tensor \Xi = \{ {\xi_k}^{ji} = {y_k}^{ji}+{y^k}^{ij} \} (the anti-commutator) is zero:

   Y  +  X
         Y

axiom
XX:=Y+reindex(Y,[1,3,2])

\label{eq10}\begin{array}{@{}l}
\displaystyle
\left[{\left[ 
\begin{array}{cc}
{2 \ {y_{1}^{1, \: 1}}}&{{y_{1}^{2, \: 1}}+{y_{1}^{1, \: 2}}}
\
{{y_{1}^{2, \: 1}}+{y_{1}^{1, \: 2}}}&{2 \ {y_{1}^{2, \: 2}}}
(10)
Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer)))

A basis for the ideal defined by the coefficients of the anti-commutator is given by:

axiom
groebner(ravel(XX))

\label{eq11}\left[{y_{2}^{2, \: 2}}, \:{{y_{2}^{2, \: 1}}+{y_{2}^{1, \: 2}}}, \:{y_{2}^{1, \: 1}}, \:{y_{1}^{2, \: 2}}, \:{{y_{1}^{2, \: 1}}+{y_{1}^{1, \: 2}}}, \:{y_{1}^{1, \: 1}}\right](11)
Type: List(Polynomial(Integer))

An algebra is associative if:

  Y    =    Y
   Y       Y

  Note: right figure is mirror image of left!

  2  3 6   2 5  6      2  3  4
   \/ /     \ \/        \ | /
    \/   =   \/    =     \|/
     \       /            |
      4     1             1

In other words an algebra is associative if and only if the following (3,1)-tensor \Psi  = \{ {\psi_s}^{kji} =  {y_s}^{kr} {y_r}^{ji} - {y_s}^{ri} {y_r}^{kj} \} is zero.

axiom
YY := reindex(reindex(Y,[1,3,2])*reindex(Y,[1,3,2]),[1,4,3,2])-Y*Y; ravel(YY)

\label{eq12}\begin{array}{@{}l}
\displaystyle
\left[{{\left({y_{1}^{2, \: 1}}-{y_{1}^{1, \: 2}}\right)}\ {y_{2}^{1, \: 1}}}, \:{-{{y_{1}^{1, \: 2}}\ {y_{2}^{1, \: 2}}}+{{y_{1}^{2, \: 2}}\ {y_{2}^{1, \: 1}}}}, \: \right.
\
\
\displaystyle
\left.{-{{y_{1}^{1, \: 2}}\ {y_{2}^{2, \: 1}}}+{{y_{1}^{2, \: 1}}\ {y_{2}^{1, \: 2}}}-{{y_{1}^{1, \: 1}}\ {y_{1}^{2, \: 1}}}+{{y_{1}^{1, \: 1}}\ {y_{1}^{1, \: 2}}}}, \right.
\
\
\displaystyle
\left.\:{-{{y_{1}^{1, \: 2}}\ {y_{2}^{2, \: 2}}}+{{y_{1}^{2, \: 2}}\ {y_{2}^{1, \: 2}}}-{{y_{1}^{1, \: 1}}\ {y_{1}^{2, \: 2}}}+{{y_{1}^{1, \: 2}}^2}}, \: \right.
\
\
\displaystyle
\left.{{{y_{1}^{2, \: 1}}\ {y_{2}^{2, \: 1}}}-{{y_{1}^{2, \: 2}}\ {y_{2}^{1, \: 1}}}}, \:{{{y_{1}^{2, \: 2}}\ {y_{2}^{2, \: 1}}}-{{y_{1}^{2, \: 2}}\ {y_{2}^{1, \: 2}}}}, \: \right.
\
\
\displaystyle
\left.{{{y_{1}^{2, \: 1}}\ {y_{2}^{2, \: 2}}}-{{y_{1}^{2, \: 2}}\ {y_{2}^{2, \: 1}}}+{{y_{1}^{1, \: 1}}\ {y_{1}^{2, \: 2}}}-{{y_{1}^{2, \: 1}}^2}}, \: \right.
\
\
\displaystyle
\left.{{\left(-{y_{1}^{2, \: 1}}+{y_{1}^{1, \: 2}}\right)}\ {y_{1}^{2, \: 2}}}, \:{{{y_{2}^{1, \: 1}}\ {y_{2}^{2, \: 1}}}-{{y_{2}^{1, \: 1}}\ {y_{2}^{1, \: 2}}}}, \: \right.
\
\
\displaystyle
\left.{{{y_{2}^{1, \: 1}}\ {y_{2}^{2, \: 2}}}-{{y_{2}^{1, \: 2}}^2}+{{y_{1}^{1, \: 1}}\ {y_{2}^{1, \: 2}}}-{{y_{1}^{1, \: 2}}\ {y_{2}^{1, \: 1}}}}, \: \right.
\
\
\displaystyle
\left.{{\left(-{y_{1}^{2, \: 1}}+{y_{1}^{1, \: 2}}\right)}\ {y_{2}^{1, \: 1}}}, \:{{{y_{1}^{1, \: 2}}\ {y_{2}^{1, \: 2}}}-{{y_{1}^{2, \: 2}}\ {y_{2}^{1, \: 1}}}}, \: \right.
\
\
\displaystyle
\left.{-{{y_{2}^{1, \: 1}}\ {y_{2}^{2, \: 2}}}+{{y_{2}^{2, \: 1}}^2}-{{y_{1}^{1, \: 1}}\ {y_{2}^{2, \: 1}}}+{{y_{1}^{2, \: 1}}\ {y_{2}^{1, \: 1}}}}, \: \right.
\
\
\displaystyle
\left.{{{\left({y_{2}^{2, \: 1}}-{y_{2}^{1, \: 2}}\right)}\ {y_{2}^{2, \: 2}}}-{{y_{1}^{1, \: 2}}\ {y_{2}^{2, \: 1}}}+{{y_{1}^{2, \: 1}}\ {y_{2}^{1, \: 2}}}}, \: \right.
\
\
\displaystyle
\left.{-{{y_{1}^{2, \: 1}}\ {y_{2}^{2, \: 1}}}+{{y_{1}^{2, \: 2}}\ {y_{2}^{1, \: 1}}}}, \: \right.
\
\
\displaystyle
\left.{-{{y_{1}^{2, \: 2}}\ {y_{2}^{2, \: 1}}}+{{y_{1}^{2, \: 2}}\ {y_{2}^{1, \: 2}}}}\right] 
(12)
Type: List(Fraction(Polynomial(Integer)))

The Jacobi identity requires the following (3,1)-tensor \Phi = \{ {\phi_s}^{kji} =  {y_s}^{kr} {y_r}^{ji} - {y_s}^{ri} {y_r}^{kj} - {y_s}^{ri} {y_r}^{jk} \} to be zero:

  Y    -    Y  -   X
   Y       Y       Y
                  Y

  2    3 6   2 5    6   2 6  3   
   \  / /     \ \  /     \ \/   
    \/ /       \ \/       \/\   
     \/    -    \/    -    \/   
      \         /           \   
       4       1             4  

axiom
YYX := YY - reindex(contract(Y,1,Y,2),[3,1,4,2]); ravel(XYY)
There are 1 exposed and 0 unexposed library operations named ravel having 1 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op ravel to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation.
Cannot find a definition or applicable library operation named ravel with argument type(s) Variable(XYY)
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.

A scalar product is denoted by the (2,0)-tensor U = \{ u^{ij} \}

axiom
U:T := unravel(concat
  [[script(u,[[],[j,i]])
    for i in 1..n]
      for j in 1..n]
        )

\label{eq13}\left[ 
\begin{array}{cc}
{u^{1, \: 1}}&{u^{1, \: 2}}
\
{u^{2, \: 1}}&{u^{2, \: 2}}
(13)
Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer)))

Definition 1

We say that the scalar product is "associative" if the tensor equation holds:

    Y   =   Y
     U     U

In other words, if the following tensor is zero  \Omega = \{ \omega^{kji} =  {Y_r}^{kj} U^{ri} - U^{kr} {Y_r}^{ji} \}

axiom
YU := reindex(reindex(U,[2,1])*reindex(Y,[1,3,2]),[3,2,1])-U*Y

\label{eq14}\begin{array}{@{}l}
\displaystyle
\left[{\left[ 
\begin{array}{cc}
{{\left({u^{2, \: 1}}-{u^{1, \: 2}}\right)}\ {y_{2}^{1, \: 1}}}&{-{{u^{1, \: 2}}\ {y_{2}^{1, \: 2}}}+{{u^{2, \: 2}}\ {y_{2}^{1, \: 1}}}-{{u^{1, \: 1}}\ {y_{1}^{1, \: 2}}}+{{u^{1, \: 2}}\ {y_{1}^{1, \: 1}}}}
\
{-{{u^{1, \: 2}}\ {y_{2}^{2, \: 1}}}+{{u^{2, \: 1}}\ {y_{2}^{1, \: 2}}}-{{u^{1, \: 1}}\ {y_{1}^{2, \: 1}}}+{{u^{1, \: 1}}\ {y_{1}^{1, \: 2}}}}&{-{{u^{1, \: 2}}\ {y_{2}^{2, \: 2}}}+{{u^{2, \: 2}}\ {y_{2}^{1, \: 2}}}-{{u^{1, \: 1}}\ {y_{1}^{2, \: 2}}}+{{u^{1, \: 2}}\ {y_{1}^{1, \: 2}}}}
(14)
Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer)))

Definition 2

An algebra with a non-degenerate associative scalar product is called ''pre-Frobenius''.

We may consider the problem where multiplication Y is given, and look for all associative scalar products U = U(Y) or we may consider an scalar product U as given, and look for all algebras Y=Y(U) such that the scalar product is associative.

This problem can be solved using linear algebra.

axiom
)expose MCALCFN
MultiVariableCalculusFunctions is now explicitly exposed in frame initial K := jacobian(ravel(YU),concat(map(variables,ravel(Y)))::List Symbol);
Type: Matrix(Fraction(Polynomial(Integer)))
axiom
yy := transpose matrix [concat(map(variables,ravel(Y)))::List Symbol];
Type: Matrix(Polynomial(Integer))
axiom
K::OutputForm * yy::OutputForm = 0

\label{eq15}\begin{array}{@{}l}
\displaystyle
{{\left[ 
\begin{array}{cccccccc}
0 & 0 & 0 & 0 &{{u^{2, \: 1}}-{u^{1, \: 2}}}& 0 & 0 & 0 
\
{u^{1, \: 2}}& -{u^{1, \: 1}}& 0 & 0 &{u^{2, \: 2}}& -{u^{1, \: 2}}& 0 & 0 
\
0 &{u^{1, \: 1}}& -{u^{1, \: 1}}& 0 & 0 &{u^{2, \: 1}}& -{u^{1, \: 2}}& 0 
\
0 &{u^{1, \: 2}}& 0 & -{u^{1, \: 1}}& 0 &{u^{2, \: 2}}& 0 & -{u^{1, \: 2}}
\
-{u^{2, \: 1}}& 0 &{u^{1, \: 1}}& 0 & -{u^{2, \: 2}}& 0 &{u^{2, \: 1}}& 0 
\
0 & -{u^{2, \: 1}}&{u^{1, \: 2}}& 0 & 0 & -{u^{2, \: 2}}&{u^{2, \: 2}}& 0 
\
0 & 0 & -{u^{2, \: 1}}&{u^{1, \: 1}}& 0 & 0 & -{u^{2, \: 2}}&{u^{2, \: 1}}
\
0 & 0 & 0 &{-{u^{2, \: 1}}+{u^{1, \: 2}}}& 0 & 0 & 0 & 0 
(15)
Type: Equation(OutputForm?)

The matrix K transforms the coefficients of the tensor Y into coefficients of the tensor \Omega. We are looking for coefficients of the tensor U such that K transforms the tensor Y into \Omega=0 for any Y.

A necessary condition for the equation to have a non-trivial solution is that the matrix K be degenerate.

Theorem 1

The scalar product of all 2-dimensional pre-Frobenius algebras is symmetric.

Proof: Consider the determinant of the matrix K above.

axiom
Kd:DMP(concat map(variables,ravel(U)),FRAC INT) := factor determinant(K)

\label{eq16}\begin{array}{@{}l}
\displaystyle
{{{u^{1, \: 1}}^2}\ {{u^{1, \: 2}}^4}\ {{u^{2, \: 2}}^2}}-{4 \ {{u^{1, \: 1}}^2}\ {{u^{1, \: 2}}^3}\ {u^{2, \: 1}}\ {{u^{2, \: 2}}^2}}+ 
\
\
\displaystyle
{6 \ {{u^{1, \: 1}}^2}\ {{u^{1, \: 2}}^2}\ {{u^{2, \: 1}}^2}\ {{u^{2, \: 2}}^2}}-{4 \ {{u^{1, \: 1}}^2}\ {u^{1, \: 2}}\ {{u^{2, \: 1}}^3}\ {{u^{2, \: 2}}^2}}+ 
\
\
\displaystyle
{{{u^{1, \: 1}}^2}\ {{u^{2, \: 1}}^4}\ {{u^{2, \: 2}}^2}}-{2 \ {u^{1, \: 1}}\ {{u^{1, \: 2}}^5}\ {u^{2, \: 1}}\ {u^{2, \: 2}}}+ 
\
\
\displaystyle
{8 \ {u^{1, \: 1}}\ {{u^{1, \: 2}}^4}\ {{u^{2, \: 1}}^2}\ {u^{2, \: 2}}}-{{12}\ {u^{1, \: 1}}\ {{u^{1, \: 2}}^3}\ {{u^{2, \: 1}}^3}\ {u^{2, \: 2}}}+ 
\
\
\displaystyle
{8 \ {u^{1, \: 1}}\ {{u^{1, \: 2}}^2}\ {{u^{2, \: 1}}^4}\ {u^{2, \: 2}}}-{2 \ {u^{1, \: 1}}\ {u^{1, \: 2}}\ {{u^{2, \: 1}}^5}\ {u^{2, \: 2}}}+ 
\
\
\displaystyle
{{{u^{1, \: 2}}^6}\ {{u^{2, \: 1}}^2}}-{4 \ {{u^{1, \: 2}}^5}\ {{u^{2, \: 1}}^3}}+{6 \ {{u^{1, \: 2}}^4}\ {{u^{2, \: 1}}^4}}- 
\
\
\displaystyle
{4 \ {{u^{1, \: 2}}^3}\ {{u^{2, \: 1}}^5}}+{{{u^{1, \: 2}}^2}\ {{u^{2, \: 1}}^6}}
(16)
Type: DistributedMultivariatePolynomial?([*002u11,*002u12,*002u21,*002u22],Fraction(Integer))

The scalar product must also be non-degenerate

axiom
Ud:DMP(concat map(variables,ravel(U)),FRAC INT) := determinant [[U[i,j] for j in 1..n] for i in 1..n]

\label{eq17}{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}(17)
Type: DistributedMultivariatePolynomial?([*002u11,*002u12,*002u21,*002u22],Fraction(Integer))

therefore U must be symmetric.

axiom
nthFactor(Kd,1)

\label{eq18}{u^{1, \: 2}}-{u^{2, \: 1}}(18)
Type: DistributedMultivariatePolynomial?([*002u11,*002u12,*002u21,*002u22],Fraction(Integer))
axiom
US:T := unravel(map(x+->subst(x,U[2,1]=U[1,2]),ravel U))

\label{eq19}\left[ 
\begin{array}{cc}
{u^{1, \: 1}}&{u^{1, \: 2}}
\
{u^{1, \: 2}}&{u^{2, \: 2}}
(19)
Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer)))

Theorem 2

All 2-dimensional algebras with associative scalar product are symmetric.

Proof: The basis of the null space of the symmetric K matrix are all symmetric

axiom
YUS:T := unravel(map(x+->subst(x,U[2,1]=U[1,2]),ravel YU))

\label{eq20}\begin{array}{@{}l}
\displaystyle
\left[{\left[ 
\begin{array}{cc}
0 &{-{{u^{1, \: 2}}\ {y_{2}^{1, \: 2}}}+{{u^{2, \: 2}}\ {y_{2}^{1, \: 1}}}-{{u^{1, \: 1}}\ {y_{1}^{1, \: 2}}}+{{u^{1, \: 2}}\ {y_{1}^{1, \: 1}}}}
\
{-{{u^{1, \: 2}}\ {y_{2}^{2, \: 1}}}+{{u^{1, \: 2}}\ {y_{2}^{1, \: 2}}}-{{u^{1, \: 1}}\ {y_{1}^{2, \: 1}}}+{{u^{1, \: 1}}\ {y_{1}^{1, \: 2}}}}&{-{{u^{1, \: 2}}\ {y_{2}^{2, \: 2}}}+{{u^{2, \: 2}}\ {y_{2}^{1, \: 2}}}-{{u^{1, \: 1}}\ {y_{1}^{2, \: 2}}}+{{u^{1, \: 2}}\ {y_{1}^{1, \: 2}}}}
(20)
Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer)))
axiom
KS := jacobian(ravel(YUS),concat(map(variables,ravel(Y)))::List Symbol);
Type: Matrix(Fraction(Polynomial(Integer)))
axiom
NS:=nullSpace(KS)

\label{eq21}\begin{array}{@{}l}
\displaystyle
\left[{\left[{{{u^{1, \: 1}}^2}\over{{u^{1, \: 2}}^2}}, \:{{u^{1, \: 1}}\over{u^{1, \: 2}}}, \:{{u^{1, \: 1}}\over{u^{1, \: 2}}}, \: 1, \: 0, \: 0, \: 0, \: 0 \right]}, \: \right.
\
\
\displaystyle
\left.{\left[ -{{u^{2, \: 2}}\over{u^{1, \: 2}}}, \: 0, \: 0, \: 0, \: 1, \: 0, \: 0, \: 0 \right]}, \: \right.
\
\
\displaystyle
\left.{\left[{{-{{u^{1, \: 1}}\ {u^{2, \: 2}}}+{{u^{1, \: 2}}^2}}\over{{u^{1, \: 2}}^2}}, \: -{{u^{2, \: 2}}\over{u^{1, \: 2}}}, \: -{{u^{2, \: 2}}\over{u^{1, \: 2}}}, \: 0, \: 0, \: 1, \: 1, \: 0 \right]}, \: \right.
\
\
\displaystyle
\left.{\left[{{u^{1, \: 1}}\over{u^{1, \: 2}}}, \: 1, \: 1, \: 0, \: 0, \: 0, \: 0, \: 1 \right]}\right] 
(21)
Type: List(Vector(Fraction(Polynomial(Integer))))
axiom
SS:=map((x,y)+->x=y,concat map(variables,ravel Y),
  entries reduce(+,[p[i]*NS.i for i in 1..#NS]))

\label{eq22}\begin{array}{@{}l}
\displaystyle
\left[{
\begin{array}{@{}l}
\displaystyle
{y_{1}^{1, \: 1}}={{\left(
\begin{array}{@{}l}
\displaystyle
{{u^{1, \: 1}}\ {u^{1, \: 2}}\ {p_{4}}}+{{\left(-{{u^{1, \: 1}}\ {u^{2, \: 2}}}+{{u^{1, \: 2}}^2}\right)}\ {p_{3}}}- 
\
\
\displaystyle
{{u^{1, \: 2}}\ {u^{2, \: 2}}\ {p_{2}}}+{{{u^{1, \: 1}}^2}\ {p_{1}}}
(22)
Type: List(Equation(Fraction(Polynomial(Integer))))
axiom
YS:T := unravel(map(x+->subst(x,SS),ravel Y))

\label{eq23}\begin{array}{@{}l}
\displaystyle
\left[{\left[ 
\begin{array}{cc}
{{{{u^{1, \: 1}}\ {u^{1, \: 2}}\ {p_{4}}}+{{\left(-{{u^{1, \: 1}}\ {u^{2, \: 2}}}+{{u^{1, \: 2}}^2}\right)}\ {p_{3}}}-{{u^{1, \: 2}}\ {u^{2, \: 2}}\ {p_{2}}}+{{{u^{1, \: 1}}^2}\ {p_{1}}}}\over{{u^{1, \: 2}}^2}}&{{{{u^{1, \: 2}}\ {p_{4}}}-{{u^{2, \: 2}}\ {p_{3}}}+{{u^{1, \: 1}}\ {p_{1}}}}\over{u^{1, \: 2}}}
\
{{{{u^{1, \: 2}}\ {p_{4}}}-{{u^{2, \: 2}}\ {p_{3}}}+{{u^{1, \: 1}}\ {p_{1}}}}\over{u^{1, \: 2}}}&{p_{1}}
(23)
Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer)))

This is a 4-parameter family of 2-d pre-Frobenius algebras with a given admissible (i.e. symmetric) scalar product.

axiom
UASS:T := unravel(map(x+->subst(x,SS),ravel YUS))

\label{eq24}\begin{array}{@{}l}
\displaystyle
\left[{\left[ 
\begin{array}{cc}
0 & 0 
\
0 & 0 
(24)
Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer)))

axiom
J := jacobian(ravel(YU),concat(map(variables,ravel(U)))::List Symbol);
Type: Matrix(Fraction(Polynomial(Integer)))
axiom
uu := transpose matrix [concat(map(variables,ravel(U)))::List Symbol];
Type: Matrix(Polynomial(Integer))
axiom
J::OutputForm * uu::OutputForm = 0

\label{eq25}\begin{array}{@{}l}
\displaystyle
{{\left[ 
\begin{array}{cccc}
0 & -{y_{2}^{1, \: 1}}&{y_{2}^{1, \: 1}}& 0 
\
-{y_{1}^{1, \: 2}}&{-{y_{2}^{1, \: 2}}+{y_{1}^{1, \: 1}}}& 0 &{y_{2}^{1, \: 1}}
\
{-{y_{1}^{2, \: 1}}+{y_{1}^{1, \: 2}}}& -{y_{2}^{2, \: 1}}&{y_{2}^{1, \: 2}}& 0 
\
-{y_{1}^{2, \: 2}}&{-{y_{2}^{2, \: 2}}+{y_{1}^{1, \: 2}}}& 0 &{y_{2}^{1, \: 2}}
\
{y_{1}^{2, \: 1}}& 0 &{{y_{2}^{2, \: 1}}-{y_{1}^{1, \: 1}}}& -{y_{2}^{1, \: 1}}
\
0 &{y_{1}^{2, \: 1}}& -{y_{1}^{1, \: 2}}&{{y_{2}^{2, \: 1}}-{y_{2}^{1, \: 2}}}
\
{y_{1}^{2, \: 2}}& 0 &{{y_{2}^{2, \: 2}}-{y_{1}^{2, \: 1}}}& -{y_{2}^{2, \: 1}}
\
0 &{y_{1}^{2, \: 2}}& -{y_{1}^{2, \: 2}}& 0 
(25)
Type: Equation(OutputForm?)

The matrix J transforms the coefficients of the tensor U into coefficients of the tensor \Omega. We are looking for coefficients of the tensor Y such that J transforms the tensor U into \Omega=0 for any U.

A necessary condition for the equation to have a non-trivial solution is that all 70 of the 4x4 sub-matrices of J are degenerate. To this end we can form the polynomial ideal of the determinants of these sub-matrices.

axiom
JP:=ideal concat concat concat
  [[[[ determinant(
    matrix([row(J,i1),row(J,i2),row(J,i3),row(J,i4)]))
      for i4 in (i3+1)..maxRowIndex(J) ] 
        for i3 in (i2+1)..(maxRowIndex(J)-1) ]
          for i2 in (i1+1)..(maxRowIndex(J)-2) ]
            for i1 in minRowIndex(J)..(maxRowIndex(J)-3) ];
Type: PolynomialIdeals?(Fraction(Integer),IndexedExponents?(Symbol),Symbol,Polynomial(Fraction(Integer)))
axiom
#generators(%)

\label{eq26}51(26)
Type: PositiveInteger?

Theorem 3

A 2-d algebra is pre-Frobenius if it is associative, commutative, anti-commutative or if it satisfies the Jacobi identity.

Proof

axiom
in?(JP,ideal ravel YY)  -- associative

\label{eq27} \mbox{\rm true} (27)
Type: Boolean
axiom
in?(JP,ideal ravel XY)  -- commutative

\label{eq28} \mbox{\rm true} (28)
Type: Boolean
axiom
in?(JP,ideal ravel XX)  -- anti-commutative

\label{eq29} \mbox{\rm true} (29)
Type: Boolean
axiom
in?(JP,ideal ravel YYX) -- Jacobi identity

\label{eq30} \mbox{\rm true} (30)
Type: Boolean