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

Edit detail for TwistedSnakeRelation revision 4 of 4

1 2 3 4
Editor: Bill Page
Time: 2011/05/09 08:31:55 GMT-7
Note: better graphic

added:
or equivalently

$$
\scalebox{1} % Change this value to rescale the drawing.
{
\begin{pspicture}(0,-0.92)(5.82,0.92)
\psbezier[linewidth=0.04,linestyle=dashed,dash=0.16cm 0.16cm](5.8,-0.1)(5.8,-0.9)(5.0,-0.9)(5.0,-0.1)
\psbezier[linewidth=0.04](5.8,-0.1)(5.8,0.7)(5.0,0.7)(5.0,-0.1)
\psbezier[linewidth=0.04,linestyle=dashed,dash=0.16cm 0.16cm](4.2,0.7)(4.2,0.1)(5.0,0.5)(5.0,-0.1)
\psbezier[linewidth=0.04](5.0,0.1)(5.0,-0.5)(4.2,-0.1)(4.2,-0.7)
\psbezier[linewidth=0.04,linestyle=dashed,dash=0.16cm 0.16cm](0.0,-0.1)(0.0,-0.9)(0.8,-0.9)(0.8,-0.1)
\psbezier[linewidth=0.04](0.0,-0.1)(0.0,0.7)(0.8,0.7)(0.8,-0.1)
\psbezier[linewidth=0.04,linestyle=dashed,dash=0.16cm 0.16cm](1.6,0.7)(1.6,0.1)(0.8,0.5)(0.8,-0.1)
\psbezier[linewidth=0.04](0.8,0.1)(0.8,-0.5)(1.6,-0.1)(1.6,-0.7)
\psline[linewidth=0.04cm](2.8,0.3)(2.8,-0.9)
\psline[linewidth=0.04cm](2.8,0.9)(2.8,0.3)
\psline[linewidth=0.04cm](4.2,0.9)(4.2,0.7)
\psline[linewidth=0.04cm](4.2,-0.9)(4.2,-0.7)
\psline[linewidth=0.04cm](1.6,0.9)(1.6,0.7)
\psline[linewidth=0.04cm](1.6,-0.7)(1.6,-0.9)
\usefont{T1}{ptm}{m}{n}
\rput(2.0948439,0.005){=}
\usefont{T1}{ptm}{m}{n}
\rput(3.4948437,0.005){=}
\end{pspicture} 
}
$$


Non-degeneracy of the pairing (snake relation)


\scalebox{1} % Change this value to rescale the drawing.
{
\begin{pspicture}(0,-1.22)(5.82,1.22)
\psbezier[linewidth=0.04](0.0,-0.4)(0.0,-1.2)(0.8,-1.2)(0.8,-0.4)
\psbezier[linewidth=0.04](0.8,0.4)(0.8,1.2)(1.6,1.2)(1.6,0.4)
\psline[linewidth=0.04cm](0.0,-0.4)(0.0,0.2)
\psline[linewidth=0.04cm](1.6,-0.4)(1.6,-1.0)
\psline[linewidth=0.04cm](2.8,0.2)(2.8,-1.0)
\psbezier[linewidth=0.04](5.8,-0.4)(5.8,-1.2)(5.0,-1.2)(5.0,-0.4)
\psbezier[linewidth=0.04](5.0,0.4)(5.0,1.2)(4.2,1.2)(4.2,0.4)
\psline[linewidth=0.04cm](5.8,-0.4)(5.8,0.2)
\psline[linewidth=0.04cm](4.2,-0.4)(4.2,-1.0)
\usefont{T1}{ptm}{m}{n}
\rput(2.0948439,-0.095){=}
\usefont{T1}{ptm}{m}{n}
\rput(3.4948437,-0.095){=}
\psbezier[linewidth=0.04,linestyle=dashed,dash=0.16cm 0.16cm](4.2,0.4)(4.2,-0.2)(5.0,0.2)(5.0,-0.4)
\psbezier[linewidth=0.04](5.0,0.4)(5.0,-0.2)(4.2,0.2)(4.2,-0.4)
\psbezier[linewidth=0.04,linestyle=dashed,dash=0.16cm 0.16cm](0.8,0.4)(0.8,-0.2)(1.6,0.2)(1.6,-0.4)
\psbezier[linewidth=0.04](1.6,0.4)(1.6,-0.2)(0.8,0.2)(0.8,-0.4)
\psline[linewidth=0.04cm](2.8,1.0)(2.8,0.2)
\psline[linewidth=0.04cm](5.8,1.0)(5.8,0.2)
\psline[linewidth=0.04cm](0.0,1.0)(0.0,0.2)
\end{pspicture} 
}
 

or equivalently


\scalebox{1} % Change this value to rescale the drawing.
{
\begin{pspicture}(0,-0.92)(5.82,0.92)
\psbezier[linewidth=0.04,linestyle=dashed,dash=0.16cm 0.16cm](5.8,-0.1)(5.8,-0.9)(5.0,-0.9)(5.0,-0.1)
\psbezier[linewidth=0.04](5.8,-0.1)(5.8,0.7)(5.0,0.7)(5.0,-0.1)
\psbezier[linewidth=0.04,linestyle=dashed,dash=0.16cm 0.16cm](4.2,0.7)(4.2,0.1)(5.0,0.5)(5.0,-0.1)
\psbezier[linewidth=0.04](5.0,0.1)(5.0,-0.5)(4.2,-0.1)(4.2,-0.7)
\psbezier[linewidth=0.04,linestyle=dashed,dash=0.16cm 0.16cm](0.0,-0.1)(0.0,-0.9)(0.8,-0.9)(0.8,-0.1)
\psbezier[linewidth=0.04](0.0,-0.1)(0.0,0.7)(0.8,0.7)(0.8,-0.1)
\psbezier[linewidth=0.04,linestyle=dashed,dash=0.16cm 0.16cm](1.6,0.7)(1.6,0.1)(0.8,0.5)(0.8,-0.1)
\psbezier[linewidth=0.04](0.8,0.1)(0.8,-0.5)(1.6,-0.1)(1.6,-0.7)
\psline[linewidth=0.04cm](2.8,0.3)(2.8,-0.9)
\psline[linewidth=0.04cm](2.8,0.9)(2.8,0.3)
\psline[linewidth=0.04cm](4.2,0.9)(4.2,0.7)
\psline[linewidth=0.04cm](4.2,-0.9)(4.2,-0.7)
\psline[linewidth=0.04cm](1.6,0.9)(1.6,0.7)
\psline[linewidth=0.04cm](1.6,-0.7)(1.6,-0.9)
\usefont{T1}{ptm}{m}{n}
\rput(2.0948439,0.005){=}
\usefont{T1}{ptm}{m}{n}
\rput(3.4948437,0.005){=}
\end{pspicture} 
}
 

Ref:

We use the Axiom LinearOperator library

fricas
)library CARTEN MONAL PROP LOP
CartesianTensor is now explicitly exposed in frame initial CartesianTensor will be automatically loaded when needed from /var/aw/var/LatexWiki/CARTEN.NRLIB/CARTEN Monoidal is now explicitly exposed in frame initial Monoidal will be automatically loaded when needed from /var/aw/var/LatexWiki/MONAL.NRLIB/MONAL Prop is now explicitly exposed in frame initial Prop will be automatically loaded when needed from /var/aw/var/LatexWiki/PROP.NRLIB/PROP LinearOperator is now explicitly exposed in frame initial LinearOperator will be automatically loaded when needed from /var/aw/var/LatexWiki/LOP.NRLIB/LOP

and some convenient notation

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

Let 𝐋 be the domain of 2-dimensional linear operators

fricas
dim:=2

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

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

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

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

\label{eq5}{|_{1}^{1}}+{|_{2}^{2}}(5)
Type: LinearOperator(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: LinearOperator(OrderedVariableList([1,2]),Expression(Integer))

Pairing

A scalar product (pairing) is represented by

fricas
U:=Σ(Σ(sp('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(OrderedVariableList([1,2]),Expression(Integer))

In general we do not require that it be symmetric.

Co-pairing

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

fricas
Ω:𝐋:=Σ(Σ(sb('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(OrderedVariableList([1,2]),Expression(Integer))
fricas
Í :=
  (  I Ω   ) /
  (  I X   ) /
  (   U I  )

\label{eq9}\begin{array}{@{}l}
\displaystyle
{{\left({{u^{1, \: 2}}\ {u_{1, \: 2}}}+{{u^{1, \: 1}}\ {u_{1, \: 1}}}\right)}\ {|_{1}^{1}}}+ 
\
\
\displaystyle
{{\left({{u^{1, \: 2}}\ {u_{2, \: 2}}}+{{u^{1, \: 1}}\ {u_{2, \: 1}}}\right)}\ {|_{2}^{1}}}+ 
\
\
\displaystyle
{{\left({{u^{2, \: 2}}\ {u_{1, \: 2}}}+{{u^{2, \: 1}}\ {u_{1, \: 1}}}\right)}\ {|_{1}^{2}}}+ 
\
\
\displaystyle
{{\left({{u^{2, \: 2}}\ {u_{2, \: 2}}}+{{u^{2, \: 1}}\ {u_{2, \: 1}}}\right)}\ {|_{2}^{2}}}
(9)
Type: LinearOperator(OrderedVariableList([1,2]),Expression(Integer))
fricas
Ì:=
  (   Ω I  ) /
  (   X I  ) /
  (  I U   )

\label{eq10}\begin{array}{@{}l}
\displaystyle
{{\left({{u^{2, \: 1}}\ {u_{2, \: 1}}}+{{u^{1, \: 1}}\ {u_{1, \: 1}}}\right)}\ {|_{1}^{1}}}+ 
\
\
\displaystyle
{{\left({{u^{2, \: 1}}\ {u_{2, \: 2}}}+{{u^{1, \: 1}}\ {u_{1, \: 2}}}\right)}\ {|_{2}^{1}}}+ 
\
\
\displaystyle
{{\left({{u^{2, \: 2}}\ {u_{2, \: 1}}}+{{u^{1, \: 2}}\ {u_{1, \: 1}}}\right)}\ {|_{1}^{2}}}+ 
\
\
\displaystyle
{{\left({{u^{2, \: 2}}\ {u_{2, \: 2}}}+{{u^{1, \: 2}}\ {u_{1, \: 2}}}\right)}\ {|_{2}^{2}}}
(10)
Type: LinearOperator(OrderedVariableList([1,2]),Expression(Integer))
fricas
equate(f,g)==map((x,y)+->(x=y),ravel f, ravel g);
Type: Void
fricas
eq1:=equate(Í,I)
fricas
Compiling function equate with type (LinearOperator(
      OrderedVariableList([1,2]),Expression(Integer)), LinearOperator(
      OrderedVariableList([1,2]),Expression(Integer))) -> List(Equation
      (Expression(Integer)))

\label{eq11}\begin{array}{@{}l}
\displaystyle
\left[{{{{u^{1, \: 2}}\ {u_{1, \: 2}}}+{{u^{1, \: 1}}\ {u_{1, \: 1}}}}= 1}, \:{{{{u^{1, \: 2}}\ {u_{2, \: 2}}}+{{u^{1, \: 1}}\ {u_{2, \: 1}}}}= 0}, \: \right.
\
\
\displaystyle
\left.{{{{u^{2, \: 2}}\ {u_{1, \: 2}}}+{{u^{2, \: 1}}\ {u_{1, \: 1}}}}= 0}, \:{{{{u^{2, \: 2}}\ {u_{2, \: 2}}}+{{u^{2, \: 1}}\ {u_{2, \: 1}}}}= 1}\right] 
(11)
Type: List(Equation(Expression(Integer)))
fricas
eq2:=equate(Ì,I)

\label{eq12}\begin{array}{@{}l}
\displaystyle
\left[{{{{u^{2, \: 1}}\ {u_{2, \: 1}}}+{{u^{1, \: 1}}\ {u_{1, \: 1}}}}= 1}, \:{{{{u^{2, \: 1}}\ {u_{2, \: 2}}}+{{u^{1, \: 1}}\ {u_{1, \: 2}}}}= 0}, \: \right.
\
\
\displaystyle
\left.{{{{u^{2, \: 2}}\ {u_{2, \: 1}}}+{{u^{1, \: 2}}\ {u_{1, \: 1}}}}= 0}, \:{{{{u^{2, \: 2}}\ {u_{2, \: 2}}}+{{u^{1, \: 2}}\ {u_{1, \: 2}}}}= 1}\right] 
(12)
Type: List(Equation(Expression(Integer)))
fricas
snake:=solve(concat(eq1,eq2),concat Ξ(Ξ(sb('u,[i,j]), i,1..dim), j,1..dim));
Type: List(List(Equation(Expression(Integer))))
fricas
if #snake ~= 1 then error "no solution"
Type: Void
fricas
Ω:=eval(Ω,snake(1))

\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^{2, \: 1}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}\ {|_{1 \  2}}}- 
\
\
\displaystyle
{{{u^{1, \: 2}}\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(OrderedVariableList([1,2]),Expression(Integer))
fricas
matrix Ξ(Ξ(Ω/(𝐝.i*𝐝.j), i,1..dim), j,1..dim)

\label{eq14}\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}}}}}
(14)
Type: Matrix(LinearOperator(OrderedVariableList([1,2]),Expression(Integer)))

This is equivalent to a matrix inverse (transposed!)

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

\label{eq15}\left[ 
\begin{array}{cc}
{u^{1, \: 1}}&{u^{2, \: 1}}
\
{u^{1, \: 2}}&{u^{2, \: 2}}
(15)
Type: Matrix(LinearOperator(OrderedVariableList([1,2]),Expression(Integer)))
fricas
mU:=inverse map(retract,Um)

\label{eq16}\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}}}}}
(16)
Type: Union(Matrix(Expression(Integer)),...)
fricas
Ωm:=Σ(Σ(mU(i,j)*(𝐞.i*𝐞.j), i,1..dim), j,1..dim)

\label{eq17}\begin{array}{@{}l}
\displaystyle
{{{u^{2, \: 2}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}\ {|_{1 \  1}}}-{{{u^{2, \: 1}}\over{{{u^{1, \: 1}}\ {u^{2, \: 2}}}-{{u^{1, \: 2}}\ {u^{2, \: 1}}}}}\ {|_{1 \  2}}}- 
\
\
\displaystyle
{{{u^{1, \: 2}}\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}}}
(17)
Type: LinearOperator(OrderedVariableList([1,2]),Expression(Integer))
fricas
-- compare
test(Ω=Ωm)

\label{eq18} \mbox{\rm true} (18)
Type: Boolean

Check that the twisted snake relation holds

fricas
test
  (  I Ω   )  /
  (  I X   )  /
  (   U I  )  =  I

\label{eq19} \mbox{\rm true} (19)
Type: Boolean
fricas
test
  (   Ω I  )  /
  (   X I  )  /
  (  I U   )  =  I

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

Dimension

Since the "snake" is twisted, dimension is as expected.


\scalebox{1} % Change this value to rescale the drawing.
{
\begin{pspicture}(0,-0.92)(0.82,0.92)
\psbezier[linewidth=0.04](0.0,-0.1)(0.0,-0.9)(0.8,-0.9)(0.8,-0.1)
\psbezier[linewidth=0.04](0.0,0.1)(0.0,0.9)(0.8,0.9)(0.8,0.1)
\psline[linewidth=0.04cm](0.0,0.1)(0.0,-0.1)
\psline[linewidth=0.04cm](0.8,0.1)(0.8,-0.1)
\end{pspicture} 
}
 

fricas
d:=
    Ω /
    U

\label{eq21}2(21)
Type: LinearOperator(OrderedVariableList([1,2]),Expression(Integer))

This "twisted dimension " depends on U!


\scalebox{1} % Change this value to rescale the drawing.
{
\begin{pspicture}(0,-1.22)(0.82,1.22)
\psbezier[linewidth=0.04](0.0,-0.4)(0.0,-1.2)(0.8,-1.2)(0.8,-0.4)
\psbezier[linewidth=0.04](0.0,0.4)(0.0,1.2)(0.8,1.2)(0.8,0.4)
\psbezier[linewidth=0.04,linestyle=dashed,dash=0.16cm 0.16cm](0.0,0.4)(0.0,-0.2)(0.8,0.2)(0.8,-0.4)
\psbezier[linewidth=0.04](0.8,0.4)(0.8,-0.2)(0.0,0.2)(0.0,-0.4)
\end{pspicture} 
}
 
fricas
d':=
     Ω /
     X /
     U

\label{eq22}{{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}}}}(22)
Type: LinearOperator(OrderedVariableList([1,2]),Expression(Integer))