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

Edit detail for SandBoxRibbonCategory revision 2 of 2

1 2
Editor: Bill Page
Time: 2011/05/26 19:10:54 GMT-7
Note: two-colors

changed:
-Linear operators over a 2-dimensional vector space representing the algebra of complex numbers
Refs:

- http://en.wikipedia.org/wiki/Braided_monoidal_category

- http://en.wikipedia.org/wiki/Strongly_ribbon_category

Refs:

We need the Axiom LinearOperator library.

fricas
(1) -> )library CARTEN ARITY CMONAL CPROP CLOP CALEY
CartesianTensor is now explicitly exposed in frame initial CartesianTensor will be automatically loaded when needed from /var/aw/var/LatexWiki/CARTEN.NRLIB/CARTEN Arity is now explicitly exposed in frame initial Arity will be automatically loaded when needed from /var/aw/var/LatexWiki/ARITY.NRLIB/ARITY ClosedMonoidal is now explicitly exposed in frame initial ClosedMonoidal will be automatically loaded when needed from /var/aw/var/LatexWiki/CMONAL.NRLIB/CMONAL ClosedProp is now explicitly exposed in frame initial ClosedProp will be automatically loaded when needed from /var/aw/var/LatexWiki/CPROP.NRLIB/CPROP ClosedLinearOperator is now explicitly exposed in frame initial ClosedLinearOperator will be automatically loaded when needed from /var/aw/var/LatexWiki/CLOP.NRLIB/CLOP CaleyDickson is now explicitly exposed in frame initial CaleyDickson will be automatically loaded when needed from /var/aw/var/LatexWiki/CALEY.NRLIB/CALEY

Use the following macros for convenient notation

fricas
-- summation
macro Σ(x,i,n)==reduce(+,[x for i in n])
Type: Void
fricas
-- list
macro Ξ(f,i,n)==[f for i in n]
Type: Void
fricas
-- subscript and superscripts
macro sb == subscript
Type: Void
fricas
macro sp == superscript
Type: Void

𝐋 is the domain of 2-dimensional linear operators over the rational functions ℚ (Expression Integer), i.e. ratio of polynomials with integer coefficients.

fricas
dim:=2

\label{eq1}2(1)
Type: PositiveInteger?
fricas
macro ℒ == List
Type: Void
fricas
macro ℂ == CaleyDickson
Type: Void
fricas
macro ℚ == Expression Integer
Type: Void
fricas
𝐋 := ClosedLinearOperator(OVAR ['1,'2], ℚ)

\label{eq2}\hbox{\axiomType{ClosedLinearOperator}\ } \left({{\hbox{\axiomType{OrderedVariableList}\ } \left({\left[ 1, \: 2 \right]}\right)}, \:{\hbox{\axiomType{Expression}\ } \left({\hbox{\axiomType{Integer}\ }}\right)}}\right)(2)
Type: Type
fricas
𝐞:ℒ 𝐋      := basisOut()

\label{eq3}\left[{|_{\  1}}, \:{|_{\  2}}\right](3)
Type: List(ClosedLinearOperator(OrderedVariableList([1,2]),Expression(Integer)))
fricas
𝐝:ℒ 𝐋      := basisIn()

\label{eq4}\left[{|^{\  1}}, \:{|^{\  2}}\right](4)
Type: List(ClosedLinearOperator(OrderedVariableList([1,2]),Expression(Integer)))
fricas
I:𝐋:=[1]   -- identity for composition

\label{eq5}{|_{\  1}^{\  1}}+{|_{\  2}^{\  2}}(5)
Type: ClosedLinearOperator(OrderedVariableList([1,2]),Expression(Integer))
fricas
X:𝐋:=[2,1] -- twist

\label{eq6}{|_{\  1 \  1}^{\  1 \  1}}+{|_{\  2 \  1}^{\  1 \  2}}+{|_{\  1 \  2}^{\  2 \  1}}+{|_{\  2 \  2}^{\  2 \  2}}(6)
Type: ClosedLinearOperator(OrderedVariableList([1,2]),Expression(Integer))
fricas
V:𝐋:=ev(1) -- evaluation

\label{eq7}{|^{\  1 \  1}}+{|^{\  2 \  2}}(7)
Type: ClosedLinearOperator(OrderedVariableList([1,2]),Expression(Integer))
fricas
Λ:𝐋:=co(1) -- co-evaluation

\label{eq8}{|_{\  1 \  1}}+{|_{\  2 \  2}}(8)
Type: ClosedLinearOperator(OrderedVariableList([1,2]),Expression(Integer))
fricas
!:𝐋:=[-1]  -- color change 1 -> 1*

\label{eq9}{|_{\ {1_{\ }^{<em>}}}^{\  1}}+{|_{\ {2_{\ }^{</em>}}}^{\  2}}(9)
Type: ClosedLinearOperator(OrderedVariableList([1,2]),Expression(Integer))
fricas
$:𝐋:=dagger ! -- 1* -> 1

\label{eq10}{|_{\  1}^{\ {1_{\ }^{<em>}}}}+{|_{\  2}^{\ {2_{\ }^{</em>}}}}(10)
Type: ClosedLinearOperator(OrderedVariableList([1,2]),Expression(Integer))
fricas
J:𝐋:=$/!

\label{eq11}{|_{\ {1_{\ }^{<em>}}}^{\ {1_{\ }^{</em>}}}}+{|_{\ {2_{\ }^{<em>}}}^{\ {2_{\ }^{</em>}}}}(11)
Type: ClosedLinearOperator(OrderedVariableList([1,2]),Expression(Integer))
fricas
test(!/$=I)

\label{eq12} \mbox{\rm true} (12)
Type: Boolean
fricas
equate(eq)==map((x,y)+->(x=y),ravel lhs eq, ravel rhs eq);
Type: Void

We want to be able to implement linear operators with two "colors" like the following:


\scalebox{1} % Change this value to rescale the drawing.
{
\begin{pspicture}(0,-4.22)(14.015,4.22)
\psline[linewidth=0.04cm](11.6,2.4)(13.0,3.8)
\psline[linewidth=0.04cm](11.4,2.6)(13.0,4.2)
\psline[linewidth=0.04cm](13.0,4.2)(13.4,4.2)
\psline[linewidth=0.04cm](13.4,4.2)(13.4,0.4)
\psline[linewidth=0.04cm](13.0,4.2)(13.0,1.0)
\psline[linewidth=0.04cm](13.4,0.4)(13.0,0.4)
\psline[linewidth=0.04cm](13.0,0.4)(10.4,3.2)
\psline[linewidth=0.04cm](13.4,0.4)(10.8,3.2)
\psline[linewidth=0.04cm](10.4,1.6)(10.4,0.4)
\psline[linewidth=0.04cm](10.8,1.6)(10.8,0.4)
\psline[linewidth=0.04cm](10.4,3.2)(10.4,4.2)
\psline[linewidth=0.04cm](10.8,3.2)(10.8,4.2)
\psline[linewidth=0.04cm](10.8,1.6)(11.4,2.2)
\psline[linewidth=0.04cm](10.4,1.6)(11.2,2.4)
\psline[linewidth=0.04cm](10.4,0.4)(10.8,0.4)
\psline[linewidth=0.03cm](10.4,4.2)(10.8,4.2)
\psline[linewidth=0.03cm](6.8,4.2)(6.8,0.4)
\psline[linewidth=0.03cm](7.1850057,4.2)(7.1850057,0.41349542)
\psline[linewidth=0.03cm](6.8,0.41349542)(7.1850057,0.41349542)
\psline[linewidth=0.03cm](6.8,4.2)(7.2,4.2)
\usefont{T1}{ptm}{m}{n}
\rput(8.315937,2.335){\large \psframebox*[framesep=0, boxsep=false,fillcolor=white] {=}}
\psline[linewidth=0.03cm,linestyle=dashed,dash=0.16cm 0.16cm](13.2,4.2)(13.2,0.8)
\psline[linewidth=0.04cm](2.4,2.4)(1.0,3.8)
\psline[linewidth=0.04cm](2.6,2.6)(1.0,4.2)
\psline[linewidth=0.04cm](1.0,4.2)(0.6,4.2)
\psline[linewidth=0.04cm](0.6,4.2)(0.6,0.4)
\psline[linewidth=0.04cm](1.0,4.2)(1.0,1.0)
\psline[linewidth=0.04cm](0.6,0.4)(1.0,0.4)
\psline[linewidth=0.04cm](1.0,0.4)(3.6,3.2)
\psline[linewidth=0.04cm](0.6,0.4)(3.2,3.2)
\psline[linewidth=0.04cm](3.6,1.6)(3.6,0.4)
\psline[linewidth=0.04cm](3.2,1.6)(3.2,0.4)
\psline[linewidth=0.04cm](3.6,3.2)(3.6,4.2)
\psline[linewidth=0.04cm](3.2,3.2)(3.2,4.2)
\psline[linewidth=0.04cm](3.2,1.6)(2.6,2.2)
\psline[linewidth=0.04cm](3.6,1.6)(2.8,2.4)
\psline[linewidth=0.04cm](3.6,0.4)(3.2,0.4)
\psline[linewidth=0.03cm](3.6,4.2)(3.2,4.2)
\psline[linewidth=0.03cm,linestyle=dashed,dash=0.16cm 0.16cm](0.8,4.2)(0.8,0.8)
\usefont{T1}{ptm}{m}{n}
\rput(5.5159373,2.335){\large \psframebox*[framesep=0, boxsep=false,fillcolor=white] {=}}
\psline[linewidth=0.03cm,linestyle=dotted,dotsep=0.16cm](0.0,1.6)(14.0,1.6)
\psline[linewidth=0.03cm,linestyle=dotted,dotsep=0.16cm](0.0,3.2)(14.0,3.2)
\usefont{T1}{ptm}{m}{n}
\rput(6.9159374,-2.265){\large \psframebox*[framesep=0, boxsep=false,fillcolor=white] {=}}
\psline[linewidth=0.04cm](4.2,-1.4)(3.2,-0.4)
\psline[linewidth=0.04cm](4.6,-1.4)(3.6,-0.4)
\psline[linewidth=0.04cm](3.6,-0.4)(3.2,-0.4)
\psline[linewidth=0.04cm](3.2,-0.4)(3.2,-4.2)
\psline[linewidth=0.04cm](3.6,-0.8)(3.6,-3.6)
\psline[linewidth=0.04cm](3.2,-4.2)(3.6,-4.2)
\psline[linewidth=0.04cm](3.6,-4.2)(4.6,-3.0)
\psline[linewidth=0.04cm](3.2,-4.2)(4.2,-3.0)
\psline[linewidth=0.03cm,linestyle=dashed,dash=0.16cm 0.16cm](3.4,-0.8)(3.4,-4.0)
\psline[linewidth=0.03cm](4.2,-1.4)(4.2,-3.0)
\psline[linewidth=0.03cm](4.6,-1.4)(4.6,-3.0)
\psline[linewidth=0.04cm](9.6,-1.4)(10.6,-0.4)
\psline[linewidth=0.04cm](9.2,-1.4)(10.2,-0.4)
\psline[linewidth=0.04cm](10.2,-0.4)(10.6,-0.4)
\psline[linewidth=0.04cm](10.6,-0.4)(10.6,-4.2)
\psline[linewidth=0.04cm](10.2,-0.8)(10.2,-3.6)
\psline[linewidth=0.04cm](10.6,-4.2)(10.2,-4.2)
\psline[linewidth=0.04cm](10.2,-4.2)(9.2,-3.0)
\psline[linewidth=0.04cm](10.6,-4.2)(9.6,-3.0)
\psline[linewidth=0.03cm,linestyle=dashed,dash=0.16cm 0.16cm](10.4,-0.8)(10.4,-4.0)
\psline[linewidth=0.03cm](9.6,-1.4)(9.6,-3.0)
\psline[linewidth=0.03cm](9.2,-1.4)(9.2,-3.0)
\end{pspicture} 
}
 

An example starting with Complex Algebra

The basis consists of the real and imaginary units. We use complex multiplication to form the "multiplication table" as a matrix. Then the structure constants can be obtained by dividing each matrix entry by the list of basis vectors.

Split-complex can be specified by Caley-Dickson parameter (q0 = -1)

fricas
--q:=1  -- split-complex
q:=sp('i,[2])

\label{eq13}i^{2}(13)
Type: Symbol
fricas
QQ := ℂ(ℚ,'i,q);
Type: Type

Basis: Each B.i is a complex number

fricas
B:ℒ QQ := map(x +-> hyper x,1$SQMATRIX(dim,ℚ)::ℒ ℒ ℚ)
There are 1 exposed and 0 unexposed library operations named hyper having 1 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op hyper 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 hyper with argument type(s) List(Expression(Integer))
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need. FriCAS will attempt to step through and interpret the code.
>> System error: #<SB-SYS:FD-STREAM for "file /var/aw/var/LatexWiki/CALEY.NRLIB/CALEY.fasl" {100289FA53}> is a fasl file compiled with SBCL 1.1.1, and can't be loaded into SBCL 2.2.9.debian.

Multiplication of arbitrary quaternions a and b

fricas
a:=Σ(sb('a,[i])*𝐞.i, i,1..dim)

\label{eq14}{{a_{1}}\ {|_{\  1}}}+{{a_{2}}\ {|_{\  2}}}(14)
Type: ClosedLinearOperator(OrderedVariableList([1,2]),Expression(Integer))
fricas
b:=Σ(sb('b,[i])*𝐞.i, i,1..dim)

\label{eq15}{{b_{1}}\ {|_{\  1}}}+{{b_{2}}\ {|_{\  2}}}(15)
Type: ClosedLinearOperator(OrderedVariableList([1,2]),Expression(Integer))
fricas
(a,b)/Y!
There are 15 exposed and 15 unexposed library operations named / having 2 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) Tuple(ClosedLinearOperator(OrderedVariableList([1,2]),Expression(Integer))) Variable(Y!)
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.

Multiplication is Associative

fricas
test(
  (  Y! J ) / _
  (   Y   ) = _
  (  I Y  ) / _
  (   Y!  ) )
There are no library operations named Y! Use HyperDoc Browse or issue )what op Y! to learn if there is any operation containing " Y! " in its name.
Cannot find a definition or applicable library operation named Y! with argument type(s) ClosedLinearOperator(OrderedVariableList([1,2]),Expression(Integer))
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} \}

fricas
U:=Σ(Σ(script('u,[[],[i,j]])*𝐝.i*($/𝐝.j), i,1..dim), j,1..dim)

\label{eq16}{{u^{1, \: 1}}\ {|^{\  1 \ {1_{\ }^{<em>}}}}}+{{u^{1, \: 2}}\ {|^{\  1 \ {2_{\ }^{</em>}}}}}+{{u^{2, \: 1}}\ {|^{\  2 \ {1_{\ }^{<em>}}}}}+{{u^{2, \: 2}}\ {|^{\  2 \ {2_{\ }^{</em>}}}}}(16)
Type: ClosedLinearOperator(OrderedVariableList([1,2]),Expression(Integer))
fricas
arity U

\label{eq17}\frac{+ \  -}{0}(17)
Type: ClosedProp?(ClosedLinearOperator(OrderedVariableList([1,2]),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:


\scalebox{1} % Change this value to rescale the drawing.
{
\begin{pspicture}(0,-0.92)(4.82,0.92)
\psbezier[linewidth=0.04](2.2,0.9)(2.2,0.1)(2.6,0.1)(2.6,0.9)
\psline[linewidth=0.04cm](2.4,0.3)(2.4,-0.1)
\psbezier[linewidth=0.04](2.4,-0.1)(2.4,-0.9)(3.0,-0.9)(3.0,-0.1)
\psline[linewidth=0.04cm](3.0,-0.1)(3.0,0.9)
\psbezier[linewidth=0.04](4.8,0.9)(4.8,0.1)(4.4,0.1)(4.4,0.9)
\psline[linewidth=0.04cm](4.6,0.3)(4.6,-0.1)
\psbezier[linewidth=0.04](4.6,-0.1)(4.6,-0.9)(4.0,-0.9)(4.0,-0.1)
\psline[linewidth=0.04cm](4.0,-0.1)(4.0,0.9)
\usefont{T1}{ptm}{m}{n}
\rput(3.4948437,0.205){-}
\psline[linewidth=0.04cm](0.6,-0.7)(0.6,0.9)
\psbezier[linewidth=0.04](0.0,-0.1)(0.0,-0.9)(1.2,-0.9)(1.2,-0.1)
\psline[linewidth=0.04cm](0.0,-0.1)(0.0,0.9)
\psline[linewidth=0.04cm](1.2,-0.1)(1.2,0.9)
\usefont{T1}{ptm}{m}{n}
\rput(1.6948438,0.205){=}
\end{pspicture} 
}
 


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

How should we color this?