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

Edit detail for Snake Relation revision 2 of 11

1 2 3 4 5 6 7 8 9 10 11
Editor: Bill Page
Time: 2011/04/22 07:58:53 GMT-7
Note: dimension

added:

$$
\scalebox{1} % Change this value to rescale the drawing.
{
\begin{pspicture}(0,-0.82)(5.22,0.82)
\psbezier[linewidth=0.04](0.0,0.0)(0.0,-0.8)(0.6,-0.8)(0.6,0.0)
\psbezier[linewidth=0.04](0.6,0.0)(0.6,0.8)(1.2,0.8)(1.2,0.0)
\psline[linewidth=0.04cm](0.0,0.0)(0.0,0.6)
\psline[linewidth=0.04cm](1.2,0.0)(1.2,-0.6)
\psline[linewidth=0.04cm](2.6,0.6)(2.6,-0.6)
\psbezier[linewidth=0.04](5.2,0.0)(5.2,-0.8)(4.6,-0.8)(4.6,0.0)
\psbezier[linewidth=0.04](4.6,0.0)(4.6,0.8)(4.0,0.8)(4.0,0.0)
\psline[linewidth=0.04cm](5.2,0.0)(5.2,0.6)
\psline[linewidth=0.04cm](4.0,0.0)(4.0,-0.6)
\usefont{T1}{ptm}{m}{n}
\rput(1.8948437,0.105){=}
\usefont{T1}{ptm}{m}{n}
\rput(3.2948437,0.105){=}
\end{pspicture} 
}
$$

removed:
-Um:=matrix Ξ(Ξ((𝐞.i*𝐞.j)/U, i,1..dim), j,1..dim)

changed:
-d1:=(I*Ω)/(U*I);
-d2:=(Ω*I)/(I*U);
Iright:=(I*Ω)/(U*I);
Ileft:=(Ω*I)/(I*U);

changed:
-eq1:=equate(d1,I);
-eq2:=equate(d2,I);
eq1:=equate(Iright,I);
eq2:=equate(Ileft,I);

added:
\end{axiom}

This is equivalent to a matrix inverse (transposed!)
\begin{axiom}
Um:=matrix Ξ(Ξ((𝐞.i*𝐞.j)/U, i,1..dim), j,1..dim)
mU:=transpose inverse map(retract,Um)
Ωm:=Σ(Σ(mU(i,j)*(𝐞.i*𝐞.j), i,1..dim), j,1..dim)

changed:
-inverse map(retract,Um)
test(Ω=Ωm)

changed:
-Check "dimension": It depends on parameters!
Check that the snake relation holds

removed:
-
-d:𝐋:=
-    (   Ω    )  /
-    (   U    )

added:
The quantity "dimension" depends on $U$!

\begin{axiom}
d:𝐋:=

       Ω      /
       U    

\end{axiom}

Non-degeneracy of the pairing

Ref:


\scalebox{1} % Change this value to rescale the drawing.
{
\begin{pspicture}(0,-0.82)(5.22,0.82)
\psbezier[linewidth=0.04](0.0,0.0)(0.0,-0.8)(0.6,-0.8)(0.6,0.0)
\psbezier[linewidth=0.04](0.6,0.0)(0.6,0.8)(1.2,0.8)(1.2,0.0)
\psline[linewidth=0.04cm](0.0,0.0)(0.0,0.6)
\psline[linewidth=0.04cm](1.2,0.0)(1.2,-0.6)
\psline[linewidth=0.04cm](2.6,0.6)(2.6,-0.6)
\psbezier[linewidth=0.04](5.2,0.0)(5.2,-0.8)(4.6,-0.8)(4.6,0.0)
\psbezier[linewidth=0.04](4.6,0.0)(4.6,0.8)(4.0,0.8)(4.0,0.0)
\psline[linewidth=0.04cm](5.2,0.0)(5.2,0.6)
\psline[linewidth=0.04cm](4.0,0.0)(4.0,-0.6)
\usefont{T1}{ptm}{m}{n}
\rput(1.8948437,0.105){=}
\usefont{T1}{ptm}{m}{n}
\rput(3.2948437,0.105){=}
\end{pspicture} 
}
 

We need the Axiom LinearOperator? library.

axiom
)library MONAL PROP LIN
Monoidal is now explicitly exposed in frame initial Monoidal will be automatically loaded when needed from /var/zope2/var/LatexWiki/MONAL.NRLIB/MONAL Prop is now explicitly exposed in frame initial Prop will be automatically loaded when needed from /var/zope2/var/LatexWiki/PROP.NRLIB/PROP LinearOperator is now explicitly exposed in frame initial LinearOperator will be automatically loaded when needed from /var/zope2/var/LatexWiki/LIN.NRLIB/LIN

Use the following macros for convenient notation

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

𝐋 is the domain of 4-dimensional linear operators

axiom
dim:=2

\label{eq1}2(1)
Type: PositiveInteger?
axiom
macro ℒ == List
Type: Void
axiom
macro ℚ == Expression Integer
Type: Void
axiom
𝐋 := LinearOperator(dim, OVAR [], ℚ)

\label{eq2}\hbox{\axiomType{LinearOperator}\ } (2, \hbox{\axiomType{OrderedVariableList}\ } ([ ]) , \hbox{\axiomType{Expression}\ } (\hbox{\axiomType{Integer}\ }))(2)
Type: Type
axiom
𝐞:ℒ 𝐋      := basisVectors()

\label{eq3}\left[{|_{1}}, \:{|_{2}}\right](3)
Type: List(LinearOperator?(2,OrderedVariableList?([]),Expression(Integer)))
axiom
𝐝:ℒ 𝐋      := basisForms()

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

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

\label{eq6}{|_{1 \  1}^{1 \  1}}+{|_{2 \  1}^{1 \  2}}+{|_{1 \  2}^{2 \  1}}+{|_{2 \  2}^{2 \  2}}(6)
Type: LinearOperator?(2,OrderedVariableList?([]),Expression(Integer))

A scalar product (pairing) is denoted by

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

\label{eq7}{{u^{1, \: 1}}\ {|_{\ }^{1 \  1}}}+{{u^{1, \: 2}}\ {|_{\ }^{1 \  2}}}+{{u^{2, \: 1}}\ {|_{\ }^{2 \  1}}}+{{u^{2, \: 2}}\ {|_{\ }^{2 \  2}}}(7)
Type: LinearOperator?(2,OrderedVariableList?([]),Expression(Integer))

Co-pairing

Solve the "snake relation" as a system of linear equations.

axiom
Ω:𝐋:=Σ(Σ(script('u,[[i,j]])*𝐞.i*𝐞.j, i,1..dim), j,1..dim)

\label{eq8}{{u_{1, \: 1}}\ {|_{1 \  1}}}+{{u_{1, \: 2}}\ {|_{1 \  2}}}+{{u_{2, \: 1}}\ {|_{2 \  1}}}+{{u_{2, \: 2}}\ {|_{2 \  2}}}(8)
Type: LinearOperator?(2,OrderedVariableList?([]),Expression(Integer))
axiom
Iright:=(I*Ω)/(U*I);
Type: LinearOperator?(2,OrderedVariableList?([]),Expression(Integer))
axiom
Ileft:=(Ω*I)/(I*U);
Type: LinearOperator?(2,OrderedVariableList?([]),Expression(Integer))
axiom
equate(f,g)==map((x,y)+->(x=y),ravel f, ravel g);
Type: Void
axiom
eq1:=equate(Iright,I);
axiom
Compiling function equate with type (LinearOperator(2,
      OrderedVariableList([]),Expression(Integer)),LinearOperator(2,
      OrderedVariableList([]),Expression(Integer))) -> List(Equation(
      Expression(Integer)))
Type: List(Equation(Expression(Integer)))
axiom
eq2:=equate(Ileft,I);
Type: List(Equation(Expression(Integer)))
axiom
snake:=solve(concat(eq1,eq2),concat Ξ(Ξ(script('u,[[i,j]]), i,1..dim), j,1..dim));
Type: List(List(Equation(Expression(Integer))))
axiom
if #snake ~= 1 then error "no solution"
Type: Void
axiom
Ω:=eval(Ω,snake(1))

\label{eq9}\begin{array}{@{}l}
\displaystyle
{{{u^{2, \: 2}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}\ {|_{1 \  1}}}-{{{u^{1, \: 2}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}\ {|_{1 \  2}}}- 
\
\
\displaystyle
{{{u^{2, \: 1}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}\ {|_{2 \  1}}}+{{{u^{1, \: 1}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}\ {|_{2 \  2}}}
(9)
Type: LinearOperator?(2,OrderedVariableList?([]),Expression(Integer))
axiom
matrix Ξ(Ξ(Ω/(𝐝.i*𝐝.j), i,1..dim), j,1..dim)

\label{eq10}\left[ 
\begin{array}{cc}
{{u^{2, \: 2}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}& -{{u^{2, \: 1}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}
\
-{{u^{1, \: 2}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}&{{u^{1, \: 1}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}
(10)
Type: Matrix(LinearOperator?(2,OrderedVariableList?([]),Expression(Integer)))

This is equivalent to a matrix inverse (transposed!)

axiom
Um:=matrix Ξ(Ξ((𝐞.i*𝐞.j)/U, i,1..dim), j,1..dim)

\label{eq11}\left[ 
\begin{array}{cc}
{u^{1, \: 1}}&{u^{2, \: 1}}
\
{u^{1, \: 2}}&{u^{2, \: 2}}
(11)
Type: Matrix(LinearOperator?(2,OrderedVariableList?([]),Expression(Integer)))
axiom
mU:=transpose inverse map(retract,Um)

\label{eq12}\left[ 
\begin{array}{cc}
{{u^{2, \: 2}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}& -{{u^{1, \: 2}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}
\
-{{u^{2, \: 1}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}&{{u^{1, \: 1}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}
(12)
Type: Matrix(Expression(Integer))
axiom
Ωm:=Σ(Σ(mU(i,j)*(𝐞.i*𝐞.j), i,1..dim), j,1..dim)

\label{eq13}\begin{array}{@{}l}
\displaystyle
{{{u^{2, \: 2}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}\ {|_{1 \  1}}}-{{{u^{1, \: 2}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}\ {|_{1 \  2}}}- 
\
\
\displaystyle
{{{u^{2, \: 1}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}\ {|_{2 \  1}}}+{{{u^{1, \: 1}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}\ {|_{2 \  2}}}
(13)
Type: LinearOperator?(2,OrderedVariableList?([]),Expression(Integer))
axiom
-- compare
test(Ω=Ωm)

\label{eq14} \mbox{\rm true} (14)
Type: Boolean

Check that the snake relation holds

axiom
test
    (  I Ω   )  /
    (   U I  )  =  I

\label{eq15} \mbox{\rm true} (15)
Type: Boolean
axiom
test
    (   Ω I  )  /
    (  I U   )  =  I

\label{eq16} \mbox{\rm true} (16)
Type: Boolean

The quantity "dimension" depends on U!

axiom
d:𝐋:=
Ω / U

\label{eq17}{{2 \ {u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{2, \: 1}}^2}-{{u^{1, \: 2}}^2}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}(17)
Type: LinearOperator?(2,OrderedVariableList?([]),Expression(Integer))