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

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 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 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)
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()
Function: setelt : (%,Integer,Integer) -> Integer is missing from domain: Vector(Integer) Internal Error The function setelt with signature (Integer)$(Integer)(Integer) is missing from domain Vector(Integer)

Pairing

A scalar product (pairing) is represented by

fricas
U:=Σ(Σ(sp('u,[i,j])*𝐝.i*𝐝.j, i,1..dim), j,1..dim)
There are no library operations named 𝐝 Use HyperDoc Browse or issue )what op 𝐝 to learn if there is any operation containing " 𝐝 " in its name. Cannot find a definition or applicable library operation named 𝐝 with argument type(s) PositiveInteger
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. There are no library operations named 𝐝 Use HyperDoc Browse or issue )what op 𝐝 to learn if there is any operation containing " 𝐝 " in its name.
Cannot find a definition or applicable library operation named 𝐝 with argument type(s) PositiveInteger
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.

In general we do not require that it be symmetric.

Co-pairing

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

fricas
Ω:𝐋:=Σ(Σ(sb('u,[i,j])*𝐞.i*𝐞.j, i,1..dim), j,1..dim)
Function: setelt : (%,Integer,Integer) -> Integer is missing from domain: Vector(Integer) Internal Error The function setelt with signature (Integer)$(Integer)(Integer) is missing from domain Vector(Integer)

This is equivalent to a matrix inverse (transposed!)

fricas
Um:=matrix Ξ(Ξ((𝐞.i*𝐞.j)/U, i,1..dim), j,1..dim)
Function: setelt : (%,Integer,Integer) -> Integer is missing from domain: Vector(Integer) Internal Error The function setelt with signature (Integer)$(Integer)(Integer) is missing from domain Vector(Integer)

Check that the snake relation holds

fricas
test
    (  I Ω   )  /
    (   U I  )  =  I
There are no exposed library operations named I but there is one unexposed operation with that name. Use HyperDoc Browse or issue )display op I to learn more about the available operation.
Cannot find a definition or applicable library operation named I with argument type(s) LinearOperator(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.

Dimension

This quantity depends on U!


\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{eq3}�� \over U(3)
Type: LinearOperator(OrderedVariableList([1,2]),Expression(Integer))

This "twisted" quantity does not.


\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{eq4}�� \over{U \  X}(4)
Type: LinearOperator(OrderedVariableList([1,2]),Expression(Integer))

Symmetric Pairing

Repeat the calculation, assuming that U is symmetric.

fricas
sym:=groebner ravel(U-X/U)
There are 2 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) Fraction(Polynomial(Integer))
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.

fricas
Um:=matrix Ξ(Ξ((𝐞.i*𝐞.j)/U, i,1..dim), j,1..dim)
Function: setelt : (%,Integer,Integer) -> Integer is missing from domain: Vector(Integer) Internal Error The function setelt with signature (Integer)$(Integer)(Integer) is missing from domain Vector(Integer)

Check that the snake relation holds

fricas
test
    (  I Ω   )  /
    (   U I  )  =  I
There are no exposed library operations named I but there is one unexposed operation with that name. Use HyperDoc Browse or issue )display op I to learn more about the available operation.
Cannot find a definition or applicable library operation named I with argument type(s) LinearOperator(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.

These quantities no longer depends on U!

fricas
d:=
    Ω /
    U

\label{eq5}�� \over U(5)
Type: LinearOperator(OrderedVariableList([1,2]),Expression(Integer))

fricas
d':=
     Ω /
     X /
     U

\label{eq6}�� \over{U \  X}(6)
Type: LinearOperator(OrderedVariableList([1,2]),Expression(Integer))

Twist dimension or twist snake? --Bill Page, Sun, 08 May 2011 14:16:39 -0700 reply
TwistedSnakeRelation




  Subject:   Be Bold !!
  ( 13 subscribers )  
Please rate this page: