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

Edit detail for SandBox Grassmann Algebra Is Frobenius In Many Ways revision 6 of 8

1 2 3 4 5 6 7 8
Editor: Bill Page
Time: 2011/04/06 09:37:03 GMT-7
Note: co-multiplication

changed:
-T:=CartesianTensor(1,dim,FRAC POLY INT)
T := CartesianTensor(1,dim,EXPR INT)
--T:=CartesianTensor(1,dim,FRAC POLY INT)
X:List T := [unravel [(i=j => 1;0) for j in 1..dim] for i in 1..dim]
X(1),X(2)

changed:
-YU := reindex(reindex(U,[2,1])*reindex(Yg,[1,3,2]),[3,2,1])-U*Yg
ω := reindex(reindex(U,[2,1])*reindex(Yg,[1,3,2]),[3,2,1])-U*Yg

changed:
-J := jacobian(ravel(YU),concat(map(variables,ravel(U)))::List Symbol);
J := jacobian(ravel ω,concat(map(variables,ravel U))::List Symbol);

changed:
-test(unravel(map(x+->subst(x,SS),ravel YU))$T=0*YU)
test(unravel(map(x+->subst(x,SS),ravel ω))$T=0*ω)

changed:
-Co-pairing
Definition 3

  Co-pairing

changed:
-gU:T:=unravel concat(transpose(1/Ud*adjoint([[Ug[i,j] for j in 1..dim] for i in 1..dim]).adjMat)::List List FRAC POLY INT)
--- dimension
-contract(contract(gU,1,Ug,1),1,2)
Ωg:T:=unravel concat(transpose(1/Ud*adjoint([[Ug[i,j] for j in 1..dim] for i in 1..dim]).adjMat)::List List FRAC POLY INT)

added:
<center><pre>
dimension
Ω
U
</pre></center>
\begin{axiom}
contract(contract(Ωg,1,Ug,1),1,2)
\end{axiom}

Definition 4

  Co-multiplication
\begin{axiom}
λg:=reindex(contract(contract(Ug*Yg,1,Ωg,1),1,Ωg,1),[2,3,1]);
-- just for display
reindex(λg,[3,1,2])
\end{axiom}
<center><pre>
i  
λ=Ω
</pre></center>
\begin{axiom}
test(λg*X(1)=Ωg)
\end{axiom}

Definition 5

  <center>Co-unit<pre>
  i 
  U
  </pre></center>

\begin{axiom}
ιg:=X(1)*Ug
\end{axiom}
<center><pre>
Y=U
ι  
</pre></center>
\begin{axiom}
test(ιg * Yg = Ug)
\end{axiom}

For example:
\begin{axiom}
Ug0:T:=unravel eval(ravel Ug,[p[1]=1,p[2]=0,p[3]=0,p[4]=1])
Ωg0:T:=unravel eval(ravel Ωg,[p[1]=1,p[2]=0,p[3]=0,p[4]=1])
λg0:T:=unravel eval(ravel λg,[p[1]=1,p[2]=0,p[3]=0,p[4]=1]);
reindex(λg0,[3,1,2])
\end{axiom}

2^n-dimensional vector space representing Grassmann algebra with n generators

An algebra is represented by a (2,1)-tensor Y=\{ {y^k}_{ij} \ i,j,k =1,2, ... dim \} viewed as a linear operator with two inputs i,j and one output k. For example:

axiom
n:=2

\label{eq1}2(1)
Type: PositiveInteger?
axiom
dim:=2^n

\label{eq2}4(2)
Type: PositiveInteger?
axiom
T := CartesianTensor(1,dim,EXPR INT)

\label{eq3}\hbox{\axiomType{CartesianTensor}\ } (1, 4, \hbox{\axiomType{Expression}\ } (\hbox{\axiomType{Integer}\ }))(3)
Type: Type
axiom
--T:=CartesianTensor(1,dim,FRAC POLY INT)
X:List T := [unravel [(i=j => 1;0) for j in 1..dim] for i in 1..dim]

\label{eq4}\left[{\left[ 1, \: 0, \: 0, \: 0 \right]}, \:{\left[ 0, \: 1, \: 0, \: 0 \right]}, \:{\left[ 0, \: 0, \: 1, \: 0 \right]}, \:{\left[ 0, \: 0, \: 0, \: 1 \right]}\right](4)
Type: List(CartesianTensor?(1,4,Expression(Integer)))
axiom
X(1),X(2)

\label{eq5}\left[{\left[ 1, \: 0, \: 0, \: 0 \right]}, \:{\left[ 0, \: 1, \: 0, \: 0 \right]}\right](5)
Type: Tuple(CartesianTensor?(1,4,Expression(Integer)))
axiom
Y:T := unravel(concat concat
  [[[script(y,[[i,j],[k]])
    for i in 1..dim]
      for j in 1..dim]
        for k in 1..dim]
          )

\label{eq6}\begin{array}{@{}l}
\displaystyle
\left[{\left[ 
\begin{array}{cccc}
{y_{1, \: 1}^{1}}&{y_{2, \: 1}^{1}}&{y_{3, \: 1}^{1}}&{y_{4, \: 1}^{1}}
\
{y_{1, \: 2}^{1}}&{y_{2, \: 2}^{1}}&{y_{3, \: 2}^{1}}&{y_{4, \: 2}^{1}}
\
{y_{1, \: 3}^{1}}&{y_{2, \: 3}^{1}}&{y_{3, \: 3}^{1}}&{y_{4, \: 3}^{1}}
\
{y_{1, \: 4}^{1}}&{y_{2, \: 4}^{1}}&{y_{3, \: 4}^{1}}&{y_{4, \: 4}^{1}}
(6)
Type: CartesianTensor?(1,4,Expression(Integer))

Generate structure constants for Grassmann Algebra

axiom
-- Construct a basis for the Grassmann algebra
GA:=AntiSymm(INT,[subscript(g,[i]) for i in 1..n])

\label{eq7}\hbox{\axiomType{AntiSymm}\ } (\hbox{\axiomType{Integer}\ } , [ <em> 01 g 1, </em> 01 g 2 ])(7)
Type: Type
axiom
B:=[exp(reverse concat([0 for i in 1..n-length(x)],wholeRagits(x::RADIX(2))))$GA for x in 0..dim-1]

\label{eq8}\left[ 1, \:{g_{1}}, \:{g_{2}}, \:{{g_{1}}\ {g_{2}}}\right](8)
Type: List(AntiSymm?(Integer,[*01g1,*01g2]))
axiom
-- Compute the multiplication table
M:=matrix [[B.i * B.j for j in 1..dim] for i in 1..dim]

\label{eq9}\left[ 
\begin{array}{cccc}
1 &{g_{1}}&{g_{2}}&{{g_{1}}\ {g_{2}}}
\
{g_{1}}& 0 &{{g_{1}}\ {g_{2}}}& 0 
\
{g_{2}}& -{{g_{1}}\ {g_{2}}}& 0 & 0 
\
{{g_{1}}\ {g_{2}}}& 0 & 0 & 0 
(9)
Type: Matrix(AntiSymm?(Integer,[*01g1,*01g2]))
axiom
-- The structure constants of the algebra are given by the coefficients
-- of the polynomials in the multiplication table with respect to the basis
S(y)==map(x+->coefficient(x,y),M)
Type: Void
axiom
Yg:T:=unravel concat concat(map(S,B)::List List List FRAC POLY INT)
axiom
Compiling function S with type AntiSymm(Integer,[*01g1,*01g2]) -> 
      Matrix(Integer)

\label{eq10}\begin{array}{@{}l}
\displaystyle
\left[{\left[ 
\begin{array}{cccc}
1 & 0 & 0 & 0 
\
0 & 0 & 0 & 0 
\
0 & 0 & 0 & 0 
\
0 & 0 & 0 & 0 
(10)
Type: CartesianTensor?(1,4,Expression(Integer))

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..dim]
      for j in 1..dim]
        )

\label{eq11}\left[ 
\begin{array}{cccc}
{u^{1, \: 1}}&{u^{1, \: 2}}&{u^{1, \: 3}}&{u^{1, \: 4}}
\
{u^{2, \: 1}}&{u^{2, \: 2}}&{u^{2, \: 3}}&{u^{2, \: 4}}
\
{u^{3, \: 1}}&{u^{3, \: 2}}&{u^{3, \: 3}}&{u^{3, \: 4}}
\
{u^{4, \: 1}}&{u^{4, \: 2}}&{u^{4, \: 3}}&{u^{4, \: 4}}
(11)
Type: CartesianTensor?(1,4,Expression(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 (3,0)-tensor:

    i  j  k   i  j  k   i  j  k
     \ | /     \/  /     \  \/
      \|/   =   \ /   -   \ /
       0         0         0


\label{eq12}
  \Phi = \{ \phi^{ijk} = {y^e}_{ij} u_{ek} - u_{ie} {y_e}^{jk} \}
  (12)
(three-point function) is zero.

axiom
ω := reindex(reindex(U,[2,1])*reindex(Yg,[1,3,2]),[3,2,1])-U*Yg

\label{eq13}\begin{array}{@{}l}
\displaystyle
\left[{\left[ 
\begin{array}{cccc}
0 & 0 & 0 & 0 
\
{{u^{2, \: 1}}-{u^{1, \: 2}}}&{u^{2, \: 2}}&{{u^{2, \: 3}}-{u^{1, \: 4}}}&{u^{2, \: 4}}
\
{{u^{3, \: 1}}-{u^{1, \: 3}}}&{{u^{3, \: 2}}+{u^{1, \: 4}}}&{u^{3, \: 3}}&{u^{3, \: 4}}
\
{{u^{4, \: 1}}-{u^{1, \: 4}}}&{u^{4, \: 2}}&{u^{4, \: 3}}&{u^{4, \: 4}}
(13)
Type: CartesianTensor?(1,4,Expression(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)

This problem can be solved using linear algebra.

axiom
)expose MCALCFN
MultiVariableCalculusFunctions is now explicitly exposed in frame initial J := jacobian(ravel ω,concat(map(variables,ravel U))::List Symbol);
Type: Matrix(Expression(Integer))
axiom
uu := transpose matrix [concat(map(variables,ravel(U)))::List Symbol];
Type: Matrix(Polynomial(Integer))
axiom
J::OutputForm * uu::OutputForm = 0

\label{eq14}\begin{array}{@{}l}
\displaystyle
{{\left[ 
\begin{array}{cccccccccccccccc}
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & - 1 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 
\
0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & - 1 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 
\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & - 1 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 
\
0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & - 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 
\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & - 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 
\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & - 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 
\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & - 1 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 
\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & - 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 
\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - 1 & 0 & 0 & - 1 & 0 & 0 & 0 
\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - 1 & 0 & 0 
\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - 1 & 0 & 0 & - 1 & 0 
\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - 1 
\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - 1 & 0 & 0 & 0 & 0 & 0 
\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - 1 & 0 & 0 & 0 & 0 
\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - 1 & 0 & 0 
\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - 1 
\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - 1 & 0 
\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & - 1 
\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 (14)
Type: Equation(OutputForm?)
axiom
nrows(J)

\label{eq15}64(15)
Type: PositiveInteger?
axiom
ncols(J)

\label{eq16}16(16)
Type: PositiveInteger?

The matrix J transforms the coefficients of the tensor U into coefficients of the tensor \Phi. We are looking for the general linear family of tensors U=U(Y,p_i) such that J transforms U into \Phi=0 for any such U.

If the null space of the J matrix is not empty we can use the basis to find all non-trivial solutions for U:

axiom
NJ:=nullSpace(J)

\label{eq17}\begin{array}{@{}l}
\displaystyle
\left[{\left[ 1, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0 \right]}, \: \right.
\
\
\displaystyle
\left.{\left[ 0, \: 1, \: 0, \: 0, \: 1, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0 \right]}, \: \right.
\
\
\displaystyle
\left.{\left[ 0, \: 0, \: 1, \: 0, \: 0, \: 0, \: 0, \: 0, \: 1, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0 \right]}, \: \right.
\
\
\displaystyle
\left.{\left[ 0, \: 0, \: 0, \: 1, \: 0, \: 0, \: 1, \: 0, \: 0, \: - 1, \: 0, \: 0, \: 1, \: 0, \: 0, \: 0 \right]}\right] (17)
Type: List(Vector(Expression(Integer)))
axiom
SS:=map((x,y)+->x=y,concat map(variables,ravel U),
  entries reduce(+,[p[i]*NJ.i for i in 1..#NJ]))

\label{eq18}\begin{array}{@{}l}
\displaystyle
\left[{{u^{1, \: 1}}={p_{1}}}, \:{{u^{1, \: 2}}={p_{2}}}, \:{{u^{1, \: 3}}={p_{3}}}, \:{{u^{1, \: 4}}={p_{4}}}, \:{{u^{2, \: 1}}={p_{2}}}, \: \right.
\
\
\displaystyle
\left.{{u^{2, \: 2}}= 0}, \:{{u^{2, \: 3}}={p_{4}}}, \:{{u^{2, \: 4}}= 0}, \:{{u^{3, \: 1}}={p_{3}}}, \:{{u^{3, \: 2}}= -{p_{4}}}, \: \right.
\
\
\displaystyle
\left.{{u^{3, \: 3}}= 0}, \:{{u^{3, \: 4}}= 0}, \:{{u^{4, \: 1}}={p_{4}}}, \:{{u^{4, \: 2}}= 0}, \:{{u^{4, \: 3}}= 0}, \: \right.
\
\
\displaystyle
\left.{{u^{4, \: 4}}= 0}\right] 
(18)
Type: List(Equation(Expression(Integer)))
axiom
Ug:T := unravel(map(x+->subst(x,SS),ravel U))

\label{eq19}\left[ 
\begin{array}{cccc}
{p_{1}}&{p_{2}}&{p_{3}}&{p_{4}}
\
{p_{2}}& 0 &{p_{4}}& 0 
\
{p_{3}}& -{p_{4}}& 0 & 0 
\
{p_{4}}& 0 & 0 & 0 
(19)
Type: CartesianTensor?(1,4,Expression(Integer))

This defines a family of pre-Frobenius algebras:

axiom
test(unravel(map(x+->subst(x,SS),ravel ω))$T=0*ω)

\label{eq20} \mbox{\rm true} (20)
Type: Boolean

The scalar product must be non-degenerate:

axiom
Ud := determinant [[Ug[i,j] for j in 1..dim] for i in 1..dim]

\label{eq21}-{{p_{4}}^4}(21)
Type: Expression(Integer)

Definition 3

Co-pairing

axiom
Ωg:T:=unravel concat(transpose(1/Ud*adjoint([[Ug[i,j] for j in 1..dim] for i in 1..dim]).adjMat)::List List FRAC POLY INT)

\label{eq22}\left[ 
\begin{array}{cccc}
0 & 0 & 0 &{1 \over{p_{4}}}
\
0 & 0 &{1 \over{p_{4}}}& -{{p_{3}}\over{{p_{4}}^2}}
\
0 & -{1 \over{p_{4}}}& 0 &{{p_{2}}\over{{p_{4}}^2}}
\
{1 \over{p_{4}}}&{{p_{3}}\over{{p_{4}}^2}}& -{{p_{2}}\over{{p_{4}}^2}}& -{{p_{1}}\over{{p_{4}}^2}}
(22)
Type: CartesianTensor?(1,4,Expression(Integer))

dimension
Ω
U
axiom
contract(contract(Ωg,1,Ug,1),1,2)

\label{eq23}4(23)
Type: CartesianTensor?(1,4,Expression(Integer))

Definition 4

Co-multiplication

axiom
λg:=reindex(contract(contract(Ug*Yg,1,Ωg,1),1,Ωg,1),[2,3,1]);
Type: CartesianTensor?(1,4,Expression(Integer))
axiom
-- just for display
reindex(λg,[3,1,2])

\label{eq24}\begin{array}{@{}l}
\displaystyle
\left[{\left[ 
\begin{array}{cccc}
0 & 0 & 0 &{1 \over{p_{4}}}
\
0 & 0 &{1 \over{p_{4}}}& -{{p_{3}}\over{{p_{4}}^2}}
\
0 & -{1 \over{p_{4}}}& 0 &{{p_{2}}\over{{p_{4}}^2}}
\
{1 \over{p_{4}}}&{{p_{3}}\over{{p_{4}}^2}}& -{{p_{2}}\over{{p_{4}}^2}}& -{{p_{1}}\over{{p_{4}}^2}}
(24)
Type: CartesianTensor?(1,4,Expression(Integer))

i  
λ=Ω
axiom
test(λg*X(1)=Ωg)

\label{eq25} \mbox{\rm true} (25)
Type: Boolean

Definition 5

Co-unit
  i 
  U
  

axiom
ιg:=X(1)*Ug

\label{eq26}\left[{p_{1}}, \:{p_{2}}, \:{p_{3}}, \:{p_{4}}\right](26)
Type: CartesianTensor?(1,4,Expression(Integer))

Y=U
ι  
axiom
test(ιg * Yg = Ug)

\label{eq27} \mbox{\rm true} (27)
Type: Boolean

For example:

axiom
Ug0:T:=unravel eval(ravel Ug,[p[1]=1,p[2]=0,p[3]=0,p[4]=1])

\label{eq28}\left[ 
\begin{array}{cccc}
1 & 0 & 0 & 1 
\
0 & 0 & 1 & 0 
\
0 & - 1 & 0 & 0 
\
1 & 0 & 0 & 0 
(28)
Type: CartesianTensor?(1,4,Expression(Integer))
axiom
Ωg0:T:=unravel eval(ravel Ωg,[p[1]=1,p[2]=0,p[3]=0,p[4]=1])

\label{eq29}\left[ 
\begin{array}{cccc}
0 & 0 & 0 & 1 
\
0 & 0 & 1 & 0 
\
0 & - 1 & 0 & 0 
\
1 & 0 & 0 & - 1 
(29)
Type: CartesianTensor?(1,4,Expression(Integer))
axiom
λg0:T:=unravel eval(ravel λg,[p[1]=1,p[2]=0,p[3]=0,p[4]=1]);
Type: CartesianTensor?(1,4,Expression(Integer))
axiom
reindex(λg0,[3,1,2])

\label{eq30}\begin{array}{@{}l}
\displaystyle
\left[{\left[ 
\begin{array}{cccc}
0 & 0 & 0 & 1 
\
0 & 0 & 1 & 0 
\
0 & - 1 & 0 & 0 
\
1 & 0 & 0 & - 1 
(30)
Type: CartesianTensor?(1,4,Expression(Integer))