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

Edit detail for SandBoxObserverAsIdempotent2 revision 7 of 18

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Editor: Bill Page
Time: 2014/03/14 03:34:52 GMT+0
Note: Orthogonal Observers

added:
monomial(x:MK):M == leadingMonomial(x)

changed:
-MT := [[mod(i*j) for j in basis] for i in basis]
--MT := [[mod(i*j) for j in basis] for i in basis]
-- idempotent
MT := [[monomial(eval(coeff(mod(i*j)),[γ(gens(1),gens(1))=1, γ(gens(2), gens(2))=1, γ(gens(2), gens(1))=γ(gens(1), gens(2)), m(gens(1))=1, m(gens(2))=1]), monomial(mod(i*j)))$MK for j in basis] for i in basis]
-- nilpotent
--MT := [[monomial(eval(coeff(mod(i*j)),[γ(gens(1),gens(1))=0, γ(gens(2), gens(2))=0, γ(gens(2), gens(1))=γ(gens(1), gens(2)), m(gens(1))=1, m(gens(2))=1]), monomial(mod(i*j)))$MK for j in basis] for i in basis]

added:
Orthogonal Observers
\begin{axiom}
p:=AB(1)
p*p-p
q:=AB(2)
q*q-q
p*q
p' := n-p
trace(p')
p' * p' - p'
q' := n-q
trace(q')
q' * q' - q'
p' * q'
\end{axiom}


Obs(2) is a 4 dimensional Frobenius Algebra

This page uses FriCAS? as underlying system.

fricas
)version
>> System error: The variable *BUILD-VERSION* is unbound.

Generators of Obs(2)

fricas
)set output abbreviate on
V := OrderedVariableList [p,q]

\label{eq1}\hbox{\axiomType{OVAR}\ } ([ p , q ])(1)
Type: TYPE
fricas
M := FreeMonoid V

\label{eq2}\hbox{\axiomType{FMONOID}\ } (\hbox{\axiomType{OVAR}\ } ([ p , q ]))(2)
Type: TYPE
fricas
gens:List M := enumerate()$V

\label{eq3}\left[ p , \: q \right](3)
Type: LIST(FMONOID(OVAR([p,q])))

Representation

fricas
divisible := Record(lm: M,rm: M)

\label{eq4}\mbox{\rm \hbox{\axiomType{Record}\ } (lm : \hbox{\axiomType{FMONOID}\ } (\hbox{\axiomType{OVAR}\ } ([ p , q ])) , rm : \hbox{\axiomType{FMONOID}\ } (\hbox{\axiomType{OVAR}\ } ([ p , q ])))}(4)
Type: TYPE
fricas
leftDiv(k:Union(divisible,"failed")):M == (k::divisible).lm
Function declaration leftDiv : Union(Record(lm: FMONOID(OVAR([p,q])) ,rm: FMONOID(OVAR([p,q]))),"failed") -> FMONOID(OVAR([p,q])) has been added to workspace.
Type: VOID
fricas
rightDiv(k:Union(divisible,"failed")):M == (k::divisible).rm
Function declaration rightDiv : Union(Record(lm: FMONOID(OVAR([p,q]) ),rm: FMONOID(OVAR([p,q]))),"failed") -> FMONOID(OVAR([p,q])) has been added to workspace.
Type: VOID
fricas
K := FRAC POLY INT

\label{eq5}\hbox{\axiomType{FRAC}\ } (\hbox{\axiomType{POLY}\ } (\hbox{\axiomType{INT}\ }))(5)
Type: TYPE
fricas
MK := FreeModule(K,M)

\label{eq6}FM (\hbox{\axiomType{FRAC}\ } (\hbox{\axiomType{POLY}\ } (\hbox{\axiomType{INT}\ })) , \hbox{\axiomType{FMONOID}\ } (\hbox{\axiomType{OVAR}\ } ([ p , q ])))(6)
Type: TYPE
fricas
coeff(x:MK):K == leadingCoefficient(x)
Function declaration coeff : FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q])) ) -> FRAC(POLY(INT)) has been added to workspace.
Type: VOID
fricas
monomial(x:MK):M == leadingMonomial(x)
Function declaration monomial : FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q ]))) -> FMONOID(OVAR([p,q])) has been added to workspace.
Type: VOID
fricas
base(x:MK):M == leadingMonomial(x)
Function declaration base : FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q]))) -> FMONOID(OVAR([p,q])) has been added to workspace.
Type: VOID
fricas
m(x:M):Symbol == subscript('m,[retract(x)::Symbol])
Function declaration m : FMONOID(OVAR([p,q])) -> SYMBOL has been added to workspace.
Type: VOID
fricas
γ(x:M,y:M):Symbol == subscript('γ,[concat(string retract x, string retract y)::Symbol])
Function declaration γ : (FMONOID(OVAR([p,q])),FMONOID(OVAR([p,q]))) -> SYMBOL has been added to workspace.
Type: VOID

Basis

fricas
basis := concat(gens,concat [[i*j for j in gens | i~=j] for i in gens])

\label{eq7}\left[ p , \: q , \:{p \  q}, \:{q \  p}\right](7)
Type: LIST(FMONOID(OVAR([p,q])))

Idempotent

fricas
rule1(ij:MK):MK ==
  for k in gens repeat
    kk := divide(base(ij),k*k)
    if kk case divisible then
      ij:=monom(leftDiv(kk)*k*rightDiv(kk), coeff(ij)*m(k)*γ(k,k))
  return(ij)
Function declaration rule1 : FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q])) ) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q]))) has been added to workspace.
Type: VOID

Reduction

fricas
rule2(ij:MK):MK ==
  for i in gens repeat
    for j in gens | j ~= i repeat
      for k in gens | k ~= j repeat
        ijk:=divide(base(ij),i*j*k)
        if ijk case divisible then
          ij := monom(leftDiv(ijk)*i*k*rightDiv(ijk), coeff(ij)*m(j)*γ(i,j)*γ(j,k)/γ(i,k))
return(ij)
Function declaration rule2 : FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q])) ) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q]))) has been added to workspace.
Type: VOID

An endomorphism on the K-Module is defined by the fixed point of applied rules

fricas
mod(ij:MK):MK ==
  ijFix:MK := 1
  while ijFix~=ij repeat
    ijFix := ij
    ij := rule1(ij)
    ij := rule2(ij)
  return(ij)
Function declaration mod : FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q]))) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q]))) has been added to workspace.
Type: VOID

Matrix

Algebra is the free algebra product modulo the fixed point

fricas
--MT := [[mod(i*j) for j in basis] for i in basis]
-- idempotent
MT := [[monomial(eval(coeff(mod(i*j)),[γ(gens(1),gens(1))=1, γ(gens(2), gens(2))=1, γ(gens(2), gens(1))=γ(gens(1), gens(2)), m(gens(1))=1, m(gens(2))=1]), monomial(mod(i*j)))$MK for j in basis] for i in basis]
fricas
Compiling function base with type FM(FRAC(POLY(INT)),FMONOID(OVAR([p
      ,q]))) -> FMONOID(OVAR([p,q]))
fricas
Compiling function leftDiv with type Union(Record(lm: FMONOID(OVAR([
      p,q])),rm: FMONOID(OVAR([p,q]))),"failed") -> FMONOID(OVAR([p,q])
      )
fricas
Compiling function rightDiv with type Union(Record(lm: FMONOID(OVAR(
      [p,q])),rm: FMONOID(OVAR([p,q]))),"failed") -> FMONOID(OVAR([p,q]
      ))
fricas
Compiling function coeff with type FM(FRAC(POLY(INT)),FMONOID(OVAR([
      p,q]))) -> FRAC(POLY(INT))
fricas
Compiling function m with type FMONOID(OVAR([p,q])) -> SYMBOL
fricas
Compiling function γ with type (FMONOID(OVAR([p,q])),FMONOID(OVAR([p
      ,q]))) -> SYMBOL
fricas
Compiling function rule1 with type FM(FRAC(POLY(INT)),FMONOID(OVAR([
      p,q]))) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q])))
fricas
Compiling function rule2 with type FM(FRAC(POLY(INT)),FMONOID(OVAR([
      p,q]))) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q])))
fricas
Compiling function mod with type FM(FRAC(POLY(INT)),FMONOID(OVAR([p,
      q]))) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q])))
fricas
Compiling function monomial with type FM(FRAC(POLY(INT)),FMONOID(
      OVAR([p,q]))) -> FMONOID(OVAR([p,q]))

\label{eq8}\begin{array}{@{}l}
\displaystyle
\left[{\left[ p , \:{p \  q}, \:{p \  q}, \:{{{��_{pq}}^{2}}\  p}\right]}, \:{\left[{q \  p}, \: q , \:{{{��_{pq}}^{2}}\  q}, \:{q \  p}\right]}, \: \right.
\
\
\displaystyle
\left.{\left[{{{��_{pq}}^{2}}\  p}, \:{p \  q}, \:{{{��_{pq}}^{2}}\  p \  q}, \:{{{��_{pq}}^{2}}\  p}\right]}, \:{\left[{q \  p}, \:{{{��_{pq}}^{2}}\  q}, \:{{{��_{pq}}^{2}}\  q}, \:{{{��_{pq}}^{2}}\  q \  p}\right]}\right] 
(8)
Type: LIST(LIST(FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q])))))

Structure Constants

fricas
R:=FRAC DMP(concat [[m(i) for i in gens],concat [[γ(j,i) for i in gens] for j in gens]], INT)

\label{eq9}\hbox{\axiomType{FRAC}\ } (\hbox{\axiomType{DMP}\ } ([ <em> 01 mp , </em> 01 mq , * 01 �� pp , * 01 �� pq , * 01 �� qp , * 01 �� qq ] , \hbox{\axiomType{INT}\ }))(9)
Type: TYPE
fricas
mat3(y:M):List List R == map(z+->map(x+->coefficient(x,y)::FRAC POLY INT,z),MT)
Function declaration mat3 : FMONOID(OVAR([p,q])) -> LIST(LIST(FRAC( DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)))) has been added to workspace.
Type: VOID
fricas
ss:=map(mat3, basis)
fricas
Compiling function mat3 with type FMONOID(OVAR([p,q])) -> LIST(LIST(
      FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT))))

\label{eq10}\begin{array}{@{}l}
\displaystyle
\left[{\left[{\left[ 1, \: 0, \: 0, \:{{��_{pq}}^{2}}\right]}, \:{\left[ 0, \: 0, \: 0, \: 0 \right]}, \:{\left[{{��_{pq}}^{2}}, \: 0, \: 0, \:{{��_{pq}}^{2}}\right]}, \:{\left[ 0, \: 0, \: 0, \: 0 \right]}\right]}, \: \right.
\
\
\displaystyle
\left.{\left[{\left[ 0, \: 0, \: 0, \: 0 \right]}, \:{\left[ 0, \: 1, \:{{��_{pq}}^{2}}, \: 0 \right]}, \:{\left[ 0, \: 0, \: 0, \: 0 \right]}, \:{\left[ 0, \:{{��_{pq}}^{2}}, \:{{��_{pq}}^{2}}, \: 0 \right]}\right]}, \: \right.
\
\
\displaystyle
\left.{\left[{\left[ 0, \: 1, \: 1, \: 0 \right]}, \:{\left[ 0, \: 0, \: 0, \: 0 \right]}, \:{\left[ 0, \: 1, \:{{��_{pq}}^{2}}, \: 0 \right]}, \:{\left[ 0, \: 0, \: 0, \: 0 \right]}\right]}, \: \right.
\
\
\displaystyle
\left.{\left[{\left[ 0, \: 0, \: 0, \: 0 \right]}, \:{\left[ 1, \: 0, \: 0, \: 1 \right]}, \:{\left[ 0, \: 0, \: 0, \: 0 \right]}, \:{\left[ 1, \: 0, \: 0, \:{{��_{pq}}^{2}}\right]}\right]}\right] (10)
Type: LIST(LIST(LIST(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)))))

Algebra

fricas
cats(m:M):Symbol==concat(map(x+->string(x.gen::Symbol),factors m))::Symbol
Function declaration cats : FMONOID(OVAR([p,q])) -> SYMBOL has been added to workspace.
Type: VOID
fricas
A:=AlgebraGivenByStructuralConstants(R,#(basis)::PI,map(cats,basis),ss::Vector(Matrix R))
fricas
Compiling function cats with type FMONOID(OVAR([p,q])) -> SYMBOL

\label{eq11}\hbox{\axiomType{ALGSC}\ } (\hbox{\axiomType{FRAC}\ } (\hbox{\axiomType{DMP}\ } ([ <em> 01 mp , </em> 01 mq , * 01 �� pp , * 01 �� pq , * 01 �� qp , * 01 �� qq ] , \hbox{\axiomType{INT}\ })) , 4, [ p , q , pq , qp ] , [ \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } ])(11)
Type: TYPE
fricas
alternative?()$A
algebra satisfies 2*associator(a,b,b) = 0 = 2*associator(a,a,b) = 0

\label{eq12} \mbox{\rm true} (12)
Type: BOOLEAN
fricas
antiAssociative?()$A
algebra is not anti-associative

\label{eq13} \mbox{\rm false} (13)
Type: BOOLEAN
fricas
antiCommutative?()$A
algebra is not anti-commutative

\label{eq14} \mbox{\rm false} (14)
Type: BOOLEAN
fricas
associative?()$A
algebra is associative

\label{eq15} \mbox{\rm true} (15)
Type: BOOLEAN
fricas
commutative?()$A
algebra is not commutative

\label{eq16} \mbox{\rm false} (16)
Type: BOOLEAN
fricas
flexible?()$A
algebra is flexible

\label{eq17} \mbox{\rm true} (17)
Type: BOOLEAN
fricas
jacobiIdentity?()$A
Jacobi identity does not hold

\label{eq18} \mbox{\rm false} (18)
Type: BOOLEAN
fricas
jordanAdmissible?()$A
algebra is not Jordan admissible

\label{eq19} \mbox{\rm false} (19)
Type: BOOLEAN
fricas
jordanAlgebra?()$A
algebra is not commutative this is not a Jordan algebra

\label{eq20} \mbox{\rm false} (20)
Type: BOOLEAN
fricas
leftAlternative?()$A
algebra is left alternative

\label{eq21} \mbox{\rm true} (21)
Type: BOOLEAN
fricas
lieAdmissible?()$A
algebra is Lie admissible

\label{eq22} \mbox{\rm true} (22)
Type: BOOLEAN
fricas
lieAlgebra?()$A
algebra is not anti-commutative this is not a Lie algebra

\label{eq23} \mbox{\rm false} (23)
Type: BOOLEAN
fricas
powerAssociative?()$A
Internal Error The function powerAssociative? with signature hashcode is missing from domain AlgebraGivenByStructuralConstants (Fraction (DistributedMultivariatePolynomial ((*01m p) (*01m q) (*01γ pp) (*01γ pq) (*01γ qp) (*01γ qq)) (Integer))) 4(p q pq qp)UNPRINTABLE

Check Multiplication

fricas
AB := entries basis()$A

\label{eq24}\left[ p , \: q , \: pq , \: qp \right](24)
Type: LIST(ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX,MATRIX]))
fricas
A2MK(z:A):MK==reduce(+,map((x:R,y:M):MK+->(x::K)*y,coordinates(z),basis))
Function declaration A2MK : ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp,*01γ pq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX, MATRIX]) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q]))) has been added to workspace.
Type: VOID
fricas
test(MT=map(x+->map(A2MK,x),[[i*j for j in AB] for i in AB]))
fricas
Compiling function A2MK with type ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp
      ,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX,
      MATRIX]) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q])))

\label{eq25} \mbox{\rm true} (25)
Type: BOOLEAN

Trace

fricas
[rightTrace(i)$A for i in AB]

\label{eq26}\left[ 2, \: 2, \:{2 \ {{��_{pq}}^{2}}}, \:{2 \ {{��_{pq}}^{2}}}\right](26)
Type: LIST(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)))
fricas
[leftTrace(i)$A for i in AB]

\label{eq27}\left[ 2, \: 2, \:{2 \ {{��_{pq}}^{2}}}, \:{2 \ {{��_{pq}}^{2}}}\right](27)
Type: LIST(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)))
fricas
trace(i)==rightTrace(i) / #gens
Type: VOID
fricas
[trace(i) for i in AB]
fricas
Compiling function trace with type ALGSC(FRAC(DMP([*01mp,*01mq,*01γ
      pp,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,
      MATRIX,MATRIX]) -> FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,
      *01γqq],INT))

\label{eq28}\left[ 1, \: 1, \:{{��_{pq}}^{2}}, \:{{��_{pq}}^{2}}\right](28)
Type: LIST(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)))

Center

fricas
C:=basisOfCenter()$AlgebraPackage(R,A); # C

\label{eq29}1(29)
Type: PI
fricas
c:=C(1)

\label{eq30}qp + pq - q - p(30)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX,MATRIX])
fricas
[c*i-i*c for i in AB]

\label{eq31}\left[ 0, \: 0, \: 0, \: 0 \right](31)
Type: LIST(ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX,MATRIX]))
fricas
test(c*c=c)

\label{eq32} \mbox{\rm false} (32)
Type: BOOLEAN

Unit

fricas
rightTrace(c)

\label{eq33}{4 \ {{��_{pq}}^{2}}}- 4(33)
Type: FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT))
fricas
n := #basis / rightTrace(c) * c

\label{eq34}{{1 \over{{{��_{pq}}^{2}}- 1}}\  qp}+{{1 \over{{{��_{pq}}^{2}}- 1}}\  pq}-{{1 \over{{{��_{pq}}^{2}}- 1}}\  q}-{{1 \over{{{��_{pq}}^{2}}- 1}}\  p}(34)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX,MATRIX])
fricas
trace(n)

\label{eq35}2(35)
Type: FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT))
fricas
test(n*n=n)

\label{eq36} \mbox{\rm true} (36)
Type: BOOLEAN

fricas
test(n=unit()$A)

\label{eq37} \mbox{\rm true} (37)
Type: BOOLEAN
fricas
f:=gcd map(x+->denom x,coordinates(n))

\label{eq38}{{��_{pq}}^{2}}- 1(38)
Type: DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)
fricas
ff:= matrix [[γ(i,j)::R for j in gens] for i in gens]

\label{eq39}\left[ 
\begin{array}{cc}
{��_{pp}}&{��_{pq}}
\
{��_{qp}}&{��_{qq}}
(39)
Type: MATRIX(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)))
fricas
test(f = determinant(ff))

\label{eq40} \mbox{\rm false} (40)
Type: BOOLEAN
fricas
(f*n)::OutputForm / f::OutputForm

\label{eq41}{qp + pq - q - p}\over{{{��_{pq}}^{2}}- 1}(41)
Type: OUTFORM

Orthogonal Observers

fricas
p:=AB(1)

\label{eq42}p(42)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX,MATRIX])
fricas
p*p-p

\label{eq43}0(43)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX,MATRIX])
fricas
q:=AB(2)

\label{eq44}q(44)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX,MATRIX])
fricas
q*q-q

\label{eq45}0(45)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX,MATRIX])
fricas
p*q

\label{eq46}pq(46)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX,MATRIX])
fricas
p' := n-p

\label{eq47}{{1 \over{{{��_{pq}}^{2}}- 1}}\  qp}+{{1 \over{{{��_{pq}}^{2}}- 1}}\  pq}-{{1 \over{{{��_{pq}}^{2}}- 1}}\  q}-{{{{��_{pq}}^{2}}\over{{{��_{pq}}^{2}}- 1}}\  p}(47)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX,MATRIX])
fricas
trace(p')

\label{eq48}1(48)
Type: FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT))
fricas
p' * p' - p'

\label{eq49}0(49)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX,MATRIX])
fricas
q' := n-q

\label{eq50}{{1 \over{{{��_{pq}}^{2}}- 1}}\  qp}+{{1 \over{{{��_{pq}}^{2}}- 1}}\  pq}-{{{{��_{pq}}^{2}}\over{{{��_{pq}}^{2}}- 1}}\  q}-{{1 \over{{{��_{pq}}^{2}}- 1}}\  p}(50)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX,MATRIX])
fricas
trace(q')

\label{eq51}1(51)
Type: FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT))
fricas
q' * q' - q'

\label{eq52}0(52)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX,MATRIX])
fricas
p' * q'

\label{eq53}{{1 \over{{{��_{pq}}^{2}}- 1}}\  qp}+{{{{��_{pq}}^{2}}\over{{{��_{pq}}^{2}}- 1}}\  pq}-{{{{��_{pq}}^{2}}\over{{{��_{pq}}^{2}}- 1}}\  q}-{{{{��_{pq}}^{2}}\over{{{��_{pq}}^{2}}- 1}}\  p}(53)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX,MATRIX])

Antisymmetric γ

fricas
eqAnti:List Equation EXPR INT := concat [[(i>j => γ(i,j)=γ(i,j);i=j =>γ(i,j)=0;γ(i,j)=-γ(j,i)) for j in gens] for i in gens]

\label{eq54}\left[{{��_{pp}}= 0}, \:{{��_{pq}}={��_{pq}}}, \:{{��_{qp}}= -{��_{pq}}}, \:{{��_{qq}}= 0}\right](54)
Type: LIST(EQ(EXPR(INT)))
fricas
anti(x:R):R == subst(x::EXPR INT, eqAnti)::FRAC POLY INT
Function declaration anti : FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γ qp,*01γqq],INT)) -> FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp, *01γqq],INT)) has been added to workspace.
Type: VOID
fricas
(anti(f)*map(anti ,coordinates(n))::A)::OutputForm / anti(f)::OutputForm
fricas
Compiling function anti with type FRAC(DMP([*01mp,*01mq,*01γpp,*01γ
      pq,*01γqp,*01γqq],INT)) -> FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,
      *01γqp,*01γqq],INT))

\label{eq55}{qp + pq - q - p}\over{{{��_{pq}}^{2}}- 1}(55)
Type: OUTFORM

Momentum

fricas
P:=reduce(+,concat [[(1/γ(basis(i),basis(j)))::R*AB(i)*AB(j) for j in 1..size()$V] for i in 1..size()$V])

\label{eq56}{{1 \over{��_{qp}}}\  qp}+{{1 \over{��_{pq}}}\  pq}+{{1 \over{��_{qq}}}\  q}+{{1 \over{��_{pp}}}\  p}(56)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX,MATRIX])
fricas
trace(P)

\label{eq57}{{{��_{pp}}\ {{��_{pq}}^{2}}\ {��_{qq}}}+{{��_{pp}}\ {��_{pq}}\ {��_{qp}}\ {��_{qq}}}+{{��_{pp}}\ {��_{qp}}}+{{��_{qp}}\ {��_{qq}}}}\over{{��_{pp}}\ {��_{qp}}\ {��_{qq}}}(57)
Type: FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT))
fricas
c:=1/trace(P)*P

\label{eq58}\begin{array}{@{}l}
\displaystyle
{{{{��_{pp}}\ {��_{qq}}}\over{{{��_{pp}}\ {{��_{pq}}^{2}}\ {��_{qq}}}+{{��_{pp}}\ {��_{pq}}\ {��_{qp}}\ {��_{qq}}}+{{��_{pp}}\ {��_{qp}}}+{{��_{qp}}\ {��_{qq}}}}}\  qp}+ 
\
\
\displaystyle
{{{{��_{pp}}\ {��_{qp}}\ {��_{qq}}}\over{{{��_{pp}}\ {{��_{pq}}^{3}}\ {��_{qq}}}+{{��_{pp}}\ {{��_{pq}}^{2}}\ {��_{qp}}\ {��_{qq}}}+{{��_{pp}}\ {��_{pq}}\ {��_{qp}}}+{{��_{pq}}\ {��_{qp}}\ {��_{qq}}}}}\  pq}+ 
\
\
\displaystyle
{{{{��_{pp}}\ {��_{qp}}}\over{{{��_{pp}}\ {{��_{pq}}^{2}}\ {��_{qq}}}+{{��_{pp}}\ {��_{pq}}\ {��_{qp}}\ {��_{qq}}}+{{��_{pp}}\ {��_{qp}}}+{{��_{qp}}\ {��_{qq}}}}}\  q}+ 
\
\
\displaystyle
{{{{��_{qp}}\ {��_{qq}}}\over{{{��_{pp}}\ {{��_{pq}}^{2}}\ {��_{qq}}}+{{��_{pp}}\ {��_{pq}}\ {��_{qp}}\ {��_{qq}}}+{{��_{pp}}\ {��_{qp}}}+{{��_{qp}}\ {��_{qq}}}}}\  p}
(58)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX,MATRIX])
fricas
c*c-c

\label{eq59}\begin{array}{@{}l}
\displaystyle
{{{-{{{��_{pp}}^{2}}\ {��_{pq}}\ {��_{qp}}\ {{��_{qq}}^{2}}}+{{��_{pp}}\ {{��_{qp}}^{2}}\ {��_{qq}}}}\over{\left(
\begin{array}{@{}l}
\displaystyle
{{{��_{pp}}^{2}}\ {{��_{pq}}^{4}}\ {{��_{qq}}^{2}}}+{2 \ {{��_{pp}}^{2}}\ {{��_{pq}}^{3}}\ {��_{qp}}\ {{��_{qq}}^{2}}}+ 
\
\
\displaystyle
{{{��_{pp}}^{2}}\ {{��_{pq}}^{2}}\ {{��_{qp}}^{2}}\ {{��_{qq}}^{2}}}+{2 \ {{��_{pp}}^{2}}\ {{��_{pq}}^{2}}\ {��_{qp}}\ {��_{qq}}}+ 
\
\
\displaystyle
{2 \ {{��_{pp}}^{2}}\ {��_{pq}}\ {{��_{qp}}^{2}}\ {��_{qq}}}+{{{��_{pp}}^{2}}\ {{��_{qp}}^{2}}}+{2 \ {��_{pp}}\ {{��_{pq}}^{2}}\ {��_{qp}}\ {{��_{qq}}^{2}}}+ 
\
\
\displaystyle
{2 \ {��_{pp}}\ {��_{pq}}\ {{��_{qp}}^{2}}\ {{��_{qq}}^{2}}}+{2 \ {��_{pp}}\ {{��_{qp}}^{2}}\ {��_{qq}}}+{{{��_{qp}}^{2}}\ {{��_{qq}}^{2}}}
(59)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)),4,[p,q,pq,qp],[MATRIX,MATRIX,MATRIX,MATRIX])
fricas
trace(c)

\label{eq60}1(60)
Type: FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT))

Scalar Product

fricas
S := matrix [[trace(x*y) for y in AB] for x in AB]

\label{eq61}\left[ 
\begin{array}{cccc}
1 &{{��_{pq}}^{2}}&{{��_{pq}}^{2}}&{{��_{pq}}^{2}}
\
{{��_{pq}}^{2}}& 1 &{{��_{pq}}^{2}}&{{��_{pq}}^{2}}
\
{{��_{pq}}^{2}}&{{��_{pq}}^{2}}&{{��_{pq}}^{4}}&{{��_{pq}}^{2}}
\
{{��_{pq}}^{2}}&{{��_{pq}}^{2}}&{{��_{pq}}^{2}}&{{��_{pq}}^{4}}
(61)
Type: MATRIX(FRAC(DMP([*01mp,*01mq,*01γpp,*01γpq,*01γqp,*01γqq],INT)))