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

# Edit detail for SandBoxFrobeniusAlgebra revision 20 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/16 15:11:54 GMT-8 Note: references, indices, terminology and notation

added:
References

- "Frobenius algebras and 2D topological quantum field theories":http://mat.uab.es/~kock/TQFT.html
by Joachim Kock

Especially "Tensor calculus (linear algebra in coordinates)"
in section 2.3.31, page 123.

- http://ncatlab.org/nlab/show/Frobenius+algebra
by John Baez, et al.

- "Ideals, Varieties, and Algorithms":http://www.cs.amherst.edu/~dac/iva.html#MR5
by David A. Cox, et al.

changed:
-$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
$Y=\{ {y^k}_{ij} \ i,j,k =1,2, ... n \}$
viewed as an operator with two inputs $i,j$ and one
output $k$. For example in 2 dimensions

changed:
-  [[[script(y,[[k],[j,i]])
[[[script(y,[[i,j],[k]])

changed:
-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])
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])

changed:
-yield a vector $R=\{ r_k = {y_k}^{ji} p_i q_j \}$
yield a vector $R=\{ r_k = {y^k}_{ij} p^i q^j \}$

changed:
-  Q   P
-  2j  3i
-   \ /
-    |
-    1k
-    R
P Q
Y
R

or more explicitly

Pi Qj
\/
\
Rk

changed:
-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
-
-\begin{axiom}
-XY:=Y-reindex(Y,[1,3,2])
An algebra is said to be *associative* if::

Y    =    Y
Y       Y

**Note:** the right hand side of the equation above is
implicitly the mirror image of the left hand side::

i   j   k   i  j     k   i     j  k
\  |  /     \/     /     \     \/
\ | /       \    /       \    /
\|/    =    e  k    -    i  e
|           \/           \/
|            \           /
l             l         l

This requires that the following (3,1)-tensor
\begin{equation}
\Psi  = \{ {\psi_l}^{ijk} =  {y^e}_{ij} {y^l}_{ek} - {y^l}_{ie} {y^e}_{jk} \}
\end{equation}
(associator) is zero.
\begin{axiom}
YY := reindex(reindex(Y,[1,3,2])*reindex(Y,[1,3,2]),[1,4,3,2])-Y*Y; ravel(YY)
\end{axiom}

The algebra $Y$ is *commutative* if::

Y = Y

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

This requires that the following (2,1)-tensor
\begin{equation}
\mathcal{C} = \{ {c^k}_{ij} = {y^k}_{ij} - {y^k}_{ji} \}
\end{equation}
(commutator) is zero.
\begin{axiom}
YC:=Y-reindex(Y,[1,3,2])

changed:
-groebner(ravel(XY))
-\end{axiom}
-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
-
-\begin{axiom}
-XX:=Y+reindex(Y,[1,3,2])
groebner(ravel(YC))
\end{axiom}

The algebra $Y$ is *anti-commutative* if::

Y = -Y

i   j     i  j     j  i
\ /   =   \/   =   \/
|         \       /
k          k     k

This requires that the following (2,1)-tensor
\begin{equation}
\mathcal{A} = \{ {a^k}_{ij} = {y^k}_{ij} + {y^k}_{ji} \}
\end{equation}
(anti-commutator) is zero.
\begin{axiom}
YA:=Y+reindex(Y,[1,3,2])

changed:
-anti-commutator is given by:
-\begin{axiom}
-groebner(ravel(XX))
-\end{axiom}
-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} \}$
commutator is given by:
\begin{axiom}
groebner(ravel(YA))
\end{axiom}

The *Jacobi identity* is::

X
Y =  Y + Y
Y  Y     Y

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

An algebra satisfies the Jacobi identity if and only if
the following (3,1)-tensor
\begin{equation}
\Theta = \{ {\theta^l}_{ijk} =  {y^l}_{ek} {y^e}_{ij} - {y^l}_{ie} {y^e}_{jk} - {y^l}_{ej} {y^e}_{ik} \}
\end{equation}

changed:
-\begin{axiom}
-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::
-
-  Y    -    Y  -   X
-   Y       Y       Y
-                  Y
-
-  2    3 6   2 5    6   2 6  3
-   \  / /     \ \  /     \ \/
-    \/ /       \ \/       \/\
-     \/    -    \/    -    \/
-      \         /           \
-       4       1             4
-
-\begin{axiom}
-YYX := YY - reindex(contract(Y,1,Y,2),[3,1,4,2]); ravel(YYX)

\begin{axiom}
YX := YY - reindex(contract(Y,1,Y,2),[3,1,4,2]); ravel(YX)

changed:
-$U = \{ u^{ij} \}$
$U = \{ u_{ij} \}$

changed:
-  We say that the scalar product is "associative" if the tensor
We say that the scalar product is *associative* if the tensor

changed:
-  In other words, if the following tensor is zero
-  $\Omega = \{ \omega^{kji} = {Y_r}^{kj} U^{ri} - U^{kr} {Y_r}^{ji} \}$
In other words, if the (3,0)-tensor::

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

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

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

changed:
-and look for all associative scalar products 'U = U(Y)' or we
and look for all associative scalar products $U = U(Y)$ or we

changed:
-algebras Y=Y(U) such that the scalar product is associative.
algebras $Y=Y(U)$ such that the scalar product is associative.

changed:
-into coefficients of the tensor $\Omega$. We are looking for
into coefficients of the tensor $\Phi$. We are looking for

changed:
-tensor $Y$ into $\Omega=0$ for any $Y$.
tensor $Y$ into $\Phi=0$ for any $Y$.

changed:
-  The scalar product of all 2-dimensional pre-Frobenius
-  algebras is symmetric.
All 2-dimensional pre-Frobenius algebras are symmetric.

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

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

changed:
-YUS:T := unravel(map(x+->subst(x,U[2,1]=U[1,2]),ravel YU))
YUS:T :=  reindex(reindex(US,[2,1])*reindex(Y,[1,3,2]),[3,2,1])-US*Y

changed:
-This is a 4-parameter family of 2-d pre-Frobenius algebras with
-a given admissible (i.e. symmetric) scalar product.
-\begin{axiom}
-UASS:T := unravel(map(x+->subst(x,SS),ravel YUS))
-\end{axiom}
-
This defines a 4-parameter family of 2-d pre-Frobenius algebras
\begin{axiom}
test(unravel(map(x+->subst(x,SS),ravel YUS))$T=0*YU) \end{axiom} Alternatively we may consider changed: -into coefficients of the tensor$\Omega$. We are looking for into coefficients of the tensor$\Phi$. We are looking for changed: -tensor$U$into$\Omega=0$for any$U$. tensor$U$into$\Phi=0$for any$U$. changed: - A 2-d algebra is pre-Frobenius if it is associative, - commutative, anti-commutative or if it satisfies the - Jacobi identity. If a 2-d algebra is associative, commutative, anti-commutative or if it satisfies the Jacobi identity then it is a pre-Frobenius algebra. changed: -in?(JP,ideal ravel XY) -- commutative -in?(JP,ideal ravel XX) -- anti-commutative -in?(JP,ideal ravel YYX) -- Jacobi identity -\end{axiom} in?(JP,ideal ravel YC) -- commutative in?(JP,ideal ravel YA) -- anti-commutative in?(JP,ideal ravel YX) -- Jacobi identity \end{axiom}  References See also: An n-dimensional algebra is represented by a (2,1)-tensor viewed as an operator with two inputs and one output . For example in 2 dimensions axiom n:=2 (1) Type: PositiveInteger? axiom T:=CartesianTensor(1,n,FRAC POLY INT) (2) Type: Domain axiom Y:T := unravel(concat concat [[[script(y,[[i,j],[k]]) for i in 1..n] for j in 1..n] for k in 1..n] ) (3) Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer))) Given two vectors and axiom P:T := unravel([script(p,[[],[i]]) for i in 1..n]) (4) Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer))) axiom Q:T := unravel([script(q,[[],[i]]) for i in 1..n]) (5) Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer))) the tensor operates on their tensor product to yield a vector axiom R:=contract(contract(Y,3,product(P,Q),1),2,3) (6) Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer))) Pictorially:  P Q Y R or more explicitly Pi Qj \/ \ Rk  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 (7) Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer))) An algebra is said to be associative if:  Y = Y Y Y  Note: the right hand side of the equation above is implicitly the mirror image of the left hand side:  i j k i j k i j k \ | / \/ / \ \/ \ | / \ / \ / \|/ = e k - i e | \/ \/ | \ / l l l  This requires that the following (3,1)-tensor (8) (associator) is zero. axiom YY := reindex(reindex(Y,[1,3,2])*reindex(Y,[1,3,2]),[1,4,3,2])-Y*Y; ravel(YY) (9) Type: List(Fraction(Polynomial(Integer))) The algebra is commutative if:  Y = Y i j i j j i \ / = \/ - \/ | \ / k k k  This requires that the following (2,1)-tensor (10) (commutator) is zero. axiom YC:=Y-reindex(Y,[1,3,2]) (11) 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(YC)) (12) Type: List(Polynomial(Integer)) The algebra is anti-commutative if:  Y = -Y i j i j j i \ / = \/ = \/ | \ / k k k  This requires that the following (2,1)-tensor (13) (anti-commutator) is zero. axiom YA:=Y+reindex(Y,[1,3,2]) (14) 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(YA)) (15) Type: List(Polynomial(Integer)) The Jacobi identity is:  X Y = Y + Y Y Y Y i j k i j k i j k i j k \ | / \ / / \ \ / \ \ / \ | / \ / / \ \ / \ 0 \ | / \/ / \ \/ \/ \ \ | / \ / \ / \ \ \|/ = e k - i e - e j | \/ \/ \/ | \ / / l l l l  An algebra satisfies the Jacobi identity if and only if the following (3,1)-tensor (16) is zero. axiom YX := YY - reindex(contract(Y,1,Y,2),[3,1,4,2]); ravel(YX) (17) Type: List(Fraction(Polynomial(Integer))) A scalar product is denoted by the (2,0)-tensor axiom U:T := unravel(concat [[script(u,[[],[j,i]]) for i in 1..n] for j in 1..n] ) (18) 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 (3,0)-tensor:  i j k i j k i j k \ | / \/ / \ \/ \|/ = \ / - \ / 0 0 0 (19) (three-point function) is zero. axiom YU := reindex(reindex(U,[2,1])*reindex(Y,[1,3,2]),[3,2,1])-U*Y (20) 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 or we may consider an scalar product U as given, and look for all algebras 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 (21) Type: Equation(OutputForm?) The matrix K transforms the coefficients of the tensor into coefficients of the tensor . We are looking for coefficients of the tensor such that K transforms the tensor into for any . A necessary condition for the equation to have a non-trivial solution is that the matrix K be degenerate. ## Theorem 1 All 2-dimensional pre-Frobenius algebras are symmetric. Proof: Consider the determinant of the matrix K above. axiom Kd := factor(determinant(K)::DMP(concat map(variables,ravel(U)),FRAC INT)) (22) Type: Factored(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] (23) Type: DistributedMultivariatePolynomial?([*002u11,*002u12,*002u21,*002u22],Fraction(Integer)) therefore U must be symmetric. axiom nthFactor(Kd,1) (24) Type: DistributedMultivariatePolynomial?([*002u11,*002u12,*002u21,*002u22],Fraction(Integer)) axiom US:T := unravel(map(x+->subst(x,U[2,1]=U[1,2]),ravel U)) (25) Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer))) ## Theorem 2 All 2-dimensional algebras with associative scalar product are commutative. Proof: The basis of the null space of the symmetric K matrix are all symmetric axiom YUS:T := reindex(reindex(US,[2,1])*reindex(Y,[1,3,2]),[3,2,1])-US*Y (26) 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) (27) 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])) (28) Type: List(Equation(Fraction(Polynomial(Integer)))) axiom YS:T := unravel(map(x+->subst(x,SS),ravel Y)) (29) Type: CartesianTensor?(1,2,Fraction(Polynomial(Integer))) This defines a 4-parameter family of 2-d pre-Frobenius algebras axiom test(unravel(map(x+->subst(x,SS),ravel YUS))$T=0*YU) (30)
Type: Boolean

Alternatively we may consider

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 (31)
Type: Equation(OutputForm?)

The matrix J transforms the coefficients of the tensor into coefficients of the tensor . We are looking for coefficients of the tensor such that J transforms the tensor into for any .

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(%) (32)
Type: PositiveInteger?

## Theorem 3

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

Proof

axiom
in?(JP,ideal ravel YY)  -- associative (33)
Type: Boolean
axiom
in?(JP,ideal ravel YC)  -- commutative (34)
Type: Boolean
axiom
in?(JP,ideal ravel YA)  -- anti-commutative (35)
Type: Boolean
axiom
in?(JP,ideal ravel YX) -- Jacobi identity (36)
Type: Boolean