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

Edit detail for SandBoxFrobeniusAlgebra revision 9 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/13 17:59:51 GMT-8
Note: operads and tensor symmetries

added:
Diagram::

  U   V
  2i  3j
   \ /
    |
    1k
    W


added:
  2   3      5   6
   \ /        \ /
    |          |
    1          4


changed:
-  1  2 5   1 4  5
-   \/ /     \ \/ 
-    \/   =   \/  
-     \       /   
-      6     3    
  2  3 6   2 5  6      2  3  4
   \/ /     \ \/        \ | /
    \/   =   \/    =     \|/
     \       /            |
      4     1             1

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

changed:
-A := Y*Y - reindex(Y,[1,3,2])*reindex(Y,[1,3,2]); ravel(A)
test(Y*Y = contract(product(Y,Y),3,4))
test(Y*Y = contract(Y,3,Y,1))
test(reindex(reindex(Y,[1,3,2])*reindex(Y,[1,3,2]),[1,4,3,2]) = reindex(contract(product(Y,Y),1,5),[3,1,2,4]))
test(reindex(reindex(Y,[1,3,2])*reindex(Y,[1,3,2]),[1,4,3,2])=reindex(contract(Y,1,Y,2),[3,1,2,4]))
AA := reindex(contract(Y,1,Y,2),[3,1,2,4])-Y*Y; ravel(A)
A:=groebner(ravel(A))
#A

An n-dimensional algebra is represented by a (1,2)-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
)library DEXPR
DistributedExpression is now explicitly exposed in frame initial DistributedExpression will be automatically loaded when needed from /var/zope2/var/LatexWiki/DEXPR.NRLIB/DEXPR n:=2

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

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

\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,DistributedExpression?(Integer))

Given two vectors U=\{ u_i \} and V=\{ v_j \}

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

\label{eq4}\left[{u_{1}}, \:{u_{2}}\right](4)
Type: CartesianTensor?(1,2,DistributedExpression?(Integer))
axiom
V:=unravel([script(v,[[i]]) for i in 1..n])$T

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

the tensor Y operates on their tensor product to yield a vector W=\{ w_k = {y_k}^{ji} u_i v_j \}

axiom
W:=contract(contract(Y,3,product(U,V),1),2,3)

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

Diagram:

  U   V
  2i  3j
   \ /
    |
    1k
    W

or in a more convenient notation:

axiom
W:=(Y*U)*V

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

The algebra Y is commutative if the following tensor (the commutator) is zero

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

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

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

axiom
C:=groebner(ravel(K))

\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))

An algebra is associative if:

  Y I  =  I Y
   Y       Y

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

  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 A=\{ {a_s}^{kji} =  {y_s}^{kr} {y_r}^{ji} - {y_r}^{kj} {y_s}^{ri} \} is zero.

axiom
test(Y*Y = contract(product(Y,Y),3,4))

\label{eq10} \mbox{\rm true} (10)
Type: Boolean
axiom
test(Y*Y = contract(Y,3,Y,1))

\label{eq11} \mbox{\rm true} (11)
Type: Boolean
axiom
test(reindex(reindex(Y,[1,3,2])*reindex(Y,[1,3,2]),[1,4,3,2]) =
reindex(contract(product(Y,Y),1,5),[3,1,2,4]))

\label{eq12} \mbox{\rm true} (12)
Type: Boolean
axiom
test(reindex(reindex(Y,[1,3,2])*reindex(Y,[1,3,2]),[1,4,3,2])=reindex(contract(Y,1,Y,2),[3,1,2,4]))

\label{eq13} \mbox{\rm true} (13)
Type: Boolean
axiom
AA := reindex(contract(Y,1,Y,2),[3,1,2,4])-Y*Y; ravel(A)
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(A)
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need. A:=groebner(ravel(A))
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(A)
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need. #A
There are 2 exposed and 1 unexposed library operations named # having 1 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op # 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 # with argument type(s) Variable(A)
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.