Non-degeneracy of the pairing (snake relation)

or equivalently

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

fricas

macro ℒ == List

**Type: **Void

fricas

macro ℚ == Expression Integer

**Type: **Void

fricas

𝐋 := LinearOperator(OVAR ['1,'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 "twisted 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 twisted snake relation holds

fricas

test
( I Ω ) /
( I X ) /
( 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

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

fricas

d:=
Ω /
U

This "twisted dimension " depends on !

fricas

d':=
Ω /
X /
U