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

Edit detail for SandBoxObserverAsIdempotent revision 15 of 21

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Editor: Bill page
Time: 2014/08/08 18:32:00 GMT+0
Note: simplify parensthesis

added:

Trace
\begin{axiom}
[rightTrace(i)$A for i in AB]
[leftTrace(i)$A for i in AB]
trace(i)==rightTrace(i) / #gens
trace(p)
[trace(i) for i in AB]
\end{axiom}

changed:
-test( (D p) ((D p) ((D p) r)) = m(gens(1))^2*(D p) r )
-test( (D p) ((D p) ((D p) ((D q) r))) = m(gens(1))^2*(D p) ((D q) r) )
test( (D p) ((D p) ((D p) r)) = trace(p)^2*(D p) r )
test( (D p) ((D p) ((D p) ((D q) r))) = trace(p)^2*(D p) ((D q) r) )

removed:
-
-Trace
-\begin{axiom}
-[rightTrace(i)$A for i in AB]
-[leftTrace(i)$A for i in AB]
-trace(i)==rightTrace(i) / #gens
-[trace(i) for i in AB]
-\end{axiom}

Obs(3) is a 9 dimensional Frobenius Algrebra

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

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

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

\label{eq3}\left[ p , \: q , \: r \right](3)
Type: LIST(FMONOID(OVAR([p,q,r])))
fricas
divisible := Record(lm: M,rm: M)

\label{eq4}\mbox{\rm \hbox{\axiomType{Record}\ } (lm : \hbox{\axiomType{FMONOID}\ } (\hbox{\axiomType{OVAR}\ } ([ p , q , r ])) , rm : \hbox{\axiomType{FMONOID}\ } (\hbox{\axiomType{OVAR}\ } ([ p , q , r ])))}(4)
Type: TYPE
fricas
leftDiv(k:Union(divisible,"failed")):M == (k::divisible).lm
Function declaration leftDiv : Union(Record(lm: FMONOID(OVAR([p,q,r] )),rm: FMONOID(OVAR([p,q,r]))),"failed") -> FMONOID(OVAR([p,q,r]) ) 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,r ])),rm: FMONOID(OVAR([p,q,r]))),"failed") -> FMONOID(OVAR([p,q,r] )) 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 , r ])))(6)
Type: TYPE
fricas
coeff(x:MK):K == leadingCoefficient(x)
Function declaration coeff : FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r] ))) -> 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 ,r]))) -> FMONOID(OVAR([p,q,r])) has been added to workspace.
Type: VOID
fricas
m(x:M):K == subscript('m,[retract(x)::Symbol])
Function declaration m : FMONOID(OVAR([p,q,r])) -> FRAC(POLY(INT)) has been added to workspace.
Type: VOID
fricas
γ(x:M,y:M):K == subscript('γ,[concat(string retract x, string retract y)::Symbol])
Function declaration γ : (FMONOID(OVAR([p,q,r])),FMONOID(OVAR([p,q,r ]))) -> FRAC(POLY(INT)) has been added to workspace.
Type: VOID

Basis

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

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

Idempotent

fricas
rule1(ij:MK):MK ==
  for k in gens repeat
    kk := divide(monomial(ij),k*k)
    if kk case divisible then
      ij:=(coeff(ij) * m(k)*γ(k,k)) * (leftDiv(kk) * k * rightDiv(kk))
  return(ij)
Function declaration rule1 : FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r] ))) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r]))) 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(leadingMonomial(ij),i*j*k)
        if ijk case divisible then
          if i=k then
            ij := (coeff(ij)*m(i)*m(j)*γ(i,j)*γ(j,i) ) * _
                  (leftDiv(ijk)*i*rightDiv(ijk))
          else
            ij := (coeff(ij)*m(j)*γ(i,j)*γ(j,k) / γ(i,k) ) * _
                  (leftDiv(ijk)*i*k*rightDiv(ijk))
  return(ij)
Function declaration rule2 : FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r] ))) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r]))) has been added to workspace.
Type: VOID

Modulo 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,r])) ) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r]))) has been added to workspace.
Type: VOID

Matrix

Multiplication is monoidal concatenation 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(3),gens(3))=1,γ(gens(2),gens(1))=γ(gens(1),gens(2)),γ(gens(3),gens(2))=γ(gens(2),gens(3)),γ(gens(3),gens(1))=γ(gens(1),gens(3))]),monomial(mod(i*j)))$MK for j in basis] for i in basis]
fricas
Compiling function monomial with type FM(FRAC(POLY(INT)),FMONOID(
      OVAR([p,q,r]))) -> FMONOID(OVAR([p,q,r]))
fricas
Compiling function coeff with type FM(FRAC(POLY(INT)),FMONOID(OVAR([
      p,q,r]))) -> FRAC(POLY(INT))
fricas
Compiling function m with type FMONOID(OVAR([p,q,r])) -> FRAC(POLY(
      INT))
fricas
Compiling function γ with type (FMONOID(OVAR([p,q,r])),FMONOID(OVAR(
      [p,q,r]))) -> FRAC(POLY(INT))
fricas
Compiling function leftDiv with type Union(Record(lm: FMONOID(OVAR([
      p,q,r])),rm: FMONOID(OVAR([p,q,r]))),"failed") -> FMONOID(OVAR([p
      ,q,r]))
fricas
Compiling function rightDiv with type Union(Record(lm: FMONOID(OVAR(
      [p,q,r])),rm: FMONOID(OVAR([p,q,r]))),"failed") -> FMONOID(OVAR([
      p,q,r]))
fricas
Compiling function rule1 with type FM(FRAC(POLY(INT)),FMONOID(OVAR([
      p,q,r]))) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r])))
fricas
Compiling function rule2 with type FM(FRAC(POLY(INT)),FMONOID(OVAR([
      p,q,r]))) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r])))
fricas
Compiling function mod with type FM(FRAC(POLY(INT)),FMONOID(OVAR([p,
      q,r]))) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r])))

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

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 , <em> 01 mr , </em> 01 �� pp , * 01 �� pq , * 01 �� pr , * 01 �� qp , * 01 �� qq , * 01 �� qr , * 01 �� rp , * 0
1 �� rq , * 01 �� rr ] , \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,r])) -> LIST(LIST(FRAC (DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr ,*01γrp,*01γrq,*01γrr],INT)))) has been added to workspace.
Type: VOID
fricas
ss:=map(mat3, basis)
fricas
Compiling function mat3 with type FMONOID(OVAR([p,q,r])) -> LIST(
      LIST(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γ
      qq,*01γqr,*01γrp,*01γrq,*01γrr],INT))))

\label{eq10}\begin{array}{@{}l}
\displaystyle
\left[{
\begin{array}{@{}l}
\displaystyle
\left[{\left[{m_{p}}, \: 0, \: 0, \: 0, \: 0, \:{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}, \: 0, \:{{m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}}, \: 0 \right]}, \: \right.
\
\
\displaystyle
\left.{\left[ 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0 \right]}, \:{\left[ 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0 \right]}, \: \right.
\
\
\displaystyle
\left.{
\begin{array}{@{}l}
\displaystyle
\left[{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}, \: 0, \: 0, \: 0, \: 0, \:{{m_{p}}\ {{m_{q}}^{2}}\ {{��_{pq}}^{2}}}, \: 0, \:{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}, \: 0 \right] 
(10)
Type: LIST(LIST(LIST(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))))

Algebra

fricas
cats(m:M):Symbol==concat(map(x+->string(x.gen::Symbol),factors m))::Symbol
Function declaration cats : FMONOID(OVAR([p,q,r])) -> 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,r])) -> SYMBOL

\label{eq11}\hbox{\axiomType{ALGSC}\ } (\hbox{\axiomType{FRAC}\ } (\hbox{\axiomType{DMP}\ } ([ <em> 01 mp , </em> 01 mq , <em> 01 mr , </em> 01 �� pp , * 01 �� pq , * 01 �� pr , * 01 �� qp , * 01 �� qq , * 01 �� qr , * 01 �� rp , * 01 �� rq , * 01 �� rr ] , \hbox{\axiomType{INT}\ })) , 9, [ p , q , r , pq , pr , qp , qr , rp , rq ] , [ \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \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
rightAlternative?()$A
algebra is right alternative

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

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

\label{eq24} \mbox{\rm false} (24)
Type: BOOLEAN
fricas
powerAssociative?()$A
Internal Error The function powerAssociative? with signature hashcode is missing from domain AlgebraGivenByStructuralConstants (Fraction (DistributedMultivariatePolynomial ((*01m p) (*01m q) (*01m r) (*01γ pp) (*01γ pq) (*01γ pr) (*01γ qp) (*01γ qq) (*01γ qr) (*01γ rp) (*01γ rq) (*01γ rr)) (Integer))) 9(p q r pq pr qp qr rp rq)UNPRINTABLE

Check Multiplication

fricas
AB := entries basis()$A

\label{eq25}\left[ p , \: q , \: r , \: pq , \: pr , \: qp , \: qr , \: rp , \: rq \right](25)
Type: LIST(ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX]))
fricas
p:=AB(1); q:=AB(2); r:=AB(3);
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,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,*01mr,*01γpp ,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9 ,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX, MATRIX,MATRIX,MATRIX,MATRIX]) -> FM(FRAC(POLY(INT)),FMONOID(OVAR( [p,q,r]))) 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,*01mr,
      *01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],
      INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,
      MATRIX,MATRIX,MATRIX,MATRIX,MATRIX]) -> FM(FRAC(POLY(INT)),
      FMONOID(OVAR([p,q,r])))

\label{eq26} \mbox{\rm true} (26)
Type: BOOLEAN
fricas
p*p

\label{eq27}{m_{p}}\  p(27)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
p*q*p

\label{eq28}{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}\  p(28)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
p*q*r

\label{eq29}{{{m_{q}}\ {��_{pq}}\ {��_{qr}}}\over{��_{pr}}}\  pr(29)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])

Trace

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

\label{eq30}\begin{array}{@{}l}
\displaystyle
\left[{3 \ {m_{p}}}, \:{3 \ {m_{q}}}, \:{3 \ {m_{r}}}, \:{3 \ {m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}, \:{3 \ {m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}}, \: \right.
\
\
\displaystyle
\left.{3 \ {m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}, \:{3 \ {m_{q}}\ {m_{r}}\ {{��_{qr}}^{2}}}, \:{3 \ {m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}}, \:{3 \ {m_{q}}\ {m_{r}}\ {{��_{qr}}^{2}}}\right] 
(30)
Type: LIST(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
[leftTrace(i)$A for i in AB]

\label{eq31}\begin{array}{@{}l}
\displaystyle
\left[{3 \ {m_{p}}}, \:{3 \ {m_{q}}}, \:{3 \ {m_{r}}}, \:{3 \ {m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}, \:{3 \ {m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}}, \: \right.
\
\
\displaystyle
\left.{3 \ {m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}, \:{3 \ {m_{q}}\ {m_{r}}\ {{��_{qr}}^{2}}}, \:{3 \ {m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}}, \:{3 \ {m_{q}}\ {m_{r}}\ {{��_{qr}}^{2}}}\right] 
(31)
Type: LIST(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
trace(i)==rightTrace(i) / #gens
Type: VOID
fricas
trace(p)
fricas
Compiling function trace with type ALGSC(FRAC(DMP([*01mp,*01mq,*01mr
      ,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],
      INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,
      MATRIX,MATRIX,MATRIX,MATRIX,MATRIX]) -> FRAC(DMP([*01mp,*01mq,
      *01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,
      *01γrr],INT))

\label{eq32}m_{p}(32)
Type: FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
[trace(i) for i in AB]

\label{eq33}\begin{array}{@{}l}
\displaystyle
\left[{m_{p}}, \:{m_{q}}, \:{m_{r}}, \:{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}, \:{{m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}}, \:{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}, \: \right.
\
\
\displaystyle
\left.{{m_{q}}\ {m_{r}}\ {{��_{qr}}^{2}}}, \:{{m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}}, \:{{m_{q}}\ {m_{r}}\ {{��_{qr}}^{2}}}\right] (33)
Type: LIST(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))

Lie derivations

fricas
D(p:A):(A->A) == (q:A):A +-> (p*q - q*p)
Function declaration D : ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp, *01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9, [p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX, MATRIX,MATRIX,MATRIX,MATRIX]) -> (ALGSC(FRAC(DMP([*01mp,*01mq, *01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq, *01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX, MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX]) -> ALGSC(FRAC(DMP([ *01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γ rp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX, MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])) has been added to workspace.
Type: VOID
fricas
test( (D p)(q*r) = (D p)(q)*r + q*(D p)(r) )
fricas
Compiling function D with type ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,
      *01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],
      INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,
      MATRIX,MATRIX,MATRIX,MATRIX,MATRIX]) -> (ALGSC(FRAC(DMP([*01mp,
      *01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γ
      rq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,
      MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX]) -> ALGSC(FRAC(
      DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,
      *01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,
      MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX]))

\label{eq34} \mbox{\rm true} (34)
Type: BOOLEAN
fricas
(D p) p

\label{eq35}0(35)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
(D p) q

\label{eq36}- qp + pq(36)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
(D p) ((D p) q)

\label{eq37}{{m_{p}}\  qp}+{{m_{p}}\  pq}-{2 \ {m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}\  p}(37)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
p*((D p) q)

\label{eq38}{{m_{p}}\  pq}-{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}\  p}(38)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
--
(D p) ((D q) r)

\label{eq39}{{{{m_{q}}\ {��_{pq}}\ {��_{qr}}}\over{��_{pr}}}\  rp}-{{{{m_{r}}\ {��_{pr}}\ {��_{qr}}}\over{��_{pq}}}\  qp}+{{{{m_{q}}\ {��_{pq}}\ {��_{qr}}}\over{��_{pr}}}\  pr}-{{{{m_{r}}\ {��_{pr}}\ {��_{qr}}}\over{��_{pq}}}\  pq}(39)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
(D q) ((D p) r)

\label{eq40}{{{{m_{p}}\ {��_{pq}}\ {��_{pr}}}\over{��_{qr}}}\  rq}+{{{{m_{p}}\ {��_{pq}}\ {��_{pr}}}\over{��_{qr}}}\  qr}-{{{{m_{r}}\ {��_{pr}}\ {��_{qr}}}\over{��_{pq}}}\  qp}-{{{{m_{r}}\ {��_{pr}}\ {��_{qr}}}\over{��_{pq}}}\  pq}(40)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
(D p) ((D q) ((D p) r))

\label{eq41}\begin{array}{@{}l}
\displaystyle
-{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}\  rp}+{{{-{{m_{p}}\ {m_{r}}\ {��_{pq}}\ {{��_{pr}}^{2}}}+{{m_{p}}\ {m_{r}}\ {��_{pr}}\ {��_{qr}}}}\over{��_{pq}}}\  qp}+ 
\
\
\displaystyle
{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}\  pr}+{{{{{m_{p}}\ {m_{r}}\ {��_{pq}}\ {{��_{pr}}^{2}}}-{{m_{p}}\ {m_{r}}\ {��_{pr}}\ {��_{qr}}}}\over{��_{pq}}}\  pq}
(41)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
(D q) ((D p) ((D q) r))

\label{eq42}\begin{array}{@{}l}
\displaystyle
-{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}\  rq}+{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}\  qr}+ 
\
\
\displaystyle
{{{{{m_{q}}\ {m_{r}}\ {��_{pq}}\ {{��_{qr}}^{2}}}-{{m_{q}}\ {m_{r}}\ {��_{pr}}\ {��_{qr}}}}\over{��_{pq}}}\  qp}+ 
\
\
\displaystyle
{{{-{{m_{q}}\ {m_{r}}\ {��_{pq}}\ {{��_{qr}}^{2}}}+{{m_{q}}\ {m_{r}}\ {��_{pr}}\ {��_{qr}}}}\over{��_{pq}}}\  pq}
(42)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
test( (D p) ((D p) ((D p) r)) = trace(p)^2*(D p) r )

\label{eq43} \mbox{\rm true} (43)
Type: BOOLEAN
fricas
test( (D p) ((D p) ((D p) ((D q) r))) = trace(p)^2*(D p) ((D q) r) )

\label{eq44} \mbox{\rm true} (44)
Type: BOOLEAN
fricas
(D p) ((D p) ((D q) r))

\label{eq45}\begin{array}{@{}l}
\displaystyle
-{{{{m_{p}}\ {m_{q}}\ {��_{pq}}\ {��_{qr}}}\over{��_{pr}}}\  rp}+{{{{m_{p}}\ {m_{r}}\ {��_{pr}}\ {��_{qr}}}\over{��_{pq}}}\  qp}+{{{{m_{p}}\ {m_{q}}\ {��_{pq}}\ {��_{qr}}}\over{��_{pr}}}\  pr}- 
\
\
\displaystyle
{{{{m_{p}}\ {m_{r}}\ {��_{pr}}\ {��_{qr}}}\over{��_{pq}}}\  pq}
(45)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
(D p) ((D q) ((D q) r))

\label{eq46}\begin{array}{@{}l}
\displaystyle
-{{{{{m_{q}}^{2}}\ {��_{pq}}\ {��_{qr}}}\over{��_{pr}}}\  rp}+{{{{2 \ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {{��_{qr}}^{2}}}-{{m_{q}}\ {m_{r}}\ {��_{pr}}\ {��_{qr}}}}\over{��_{pq}}}\  qp}+ 
\
\
\displaystyle
{{{{{m_{q}}^{2}}\ {��_{pq}}\ {��_{qr}}}\over{��_{pr}}}\  pr}+{{{-{2 \ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {{��_{qr}}^{2}}}+{{m_{q}}\ {m_{r}}\ {��_{pr}}\ {��_{qr}}}}\over{��_{pq}}}\  pq}
(46)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])

Scalar Product

fricas
matrix [[trace(i*j) for j in [AB.1,AB.2,AB.3]] for i in [AB.1,AB.2,AB.3]]

\label{eq47}\left[ 
\begin{array}{ccc}
{{m_{p}}^{2}}&{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}&{{m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}}
\
{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}&{{m_{q}}^{2}}&{{m_{q}}\ {m_{r}}\ {{��_{qr}}^{2}}}
\
{{m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}}&{{m_{q}}\ {m_{r}}\ {{��_{qr}}^{2}}}&{{m_{r}}^{2}}
(47)
Type: MATRIX(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
matrix [[trace(i*j) for j in [AB.1,AB.2,AB.3]] for i in [AB.4,AB.5,AB.6]]

\label{eq48}\left[ 
\begin{array}{ccc}
{{{m_{p}}^{2}}\ {m_{q}}\ {{��_{pq}}^{2}}}&{{m_{p}}\ {{m_{q}}^{2}}\ {{��_{pq}}^{2}}}&{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}
\
{{{m_{p}}^{2}}\ {m_{r}}\ {{��_{pr}}^{2}}}&{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{m_{p}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}}
\
{{{m_{p}}^{2}}\ {m_{q}}\ {{��_{pq}}^{2}}}&{{m_{p}}\ {{m_{q}}^{2}}\ {{��_{pq}}^{2}}}&{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}
(48)
Type: MATRIX(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
matrix [[trace(i*j) for j in [AB.1,AB.2,AB.3]] for i in [AB.7,AB.8,AB.9]]

\label{eq49}\left[ 
\begin{array}{ccc}
{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{{m_{q}}^{2}}\ {m_{r}}\ {{��_{qr}}^{2}}}&{{m_{q}}\ {{m_{r}}^{2}}\ {{��_{qr}}^{2}}}
\
{{{m_{p}}^{2}}\ {m_{r}}\ {{��_{pr}}^{2}}}&{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{m_{p}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}}
\
{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{{m_{q}}^{2}}\ {m_{r}}\ {{��_{qr}}^{2}}}&{{m_{q}}\ {{m_{r}}^{2}}\ {{��_{qr}}^{2}}}
(49)
Type: MATRIX(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
matrix [[trace(i*j) for j in [AB.4,AB.5,AB.6]] for i in [AB.1,AB.2,AB.3]]

\label{eq50}\left[ 
\begin{array}{ccc}
{{{m_{p}}^{2}}\ {m_{q}}\ {{��_{pq}}^{2}}}&{{{m_{p}}^{2}}\ {m_{r}}\ {{��_{pr}}^{2}}}&{{{m_{p}}^{2}}\ {m_{q}}\ {{��_{pq}}^{2}}}
\
{{m_{p}}\ {{m_{q}}^{2}}\ {{��_{pq}}^{2}}}&{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{m_{p}}\ {{m_{q}}^{2}}\ {{��_{pq}}^{2}}}
\
{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{m_{p}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}}&{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}
(50)
Type: MATRIX(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
matrix [[trace(i*j) for j in [AB.4,AB.5,AB.6]] for i in [AB.4,AB.5,AB.6]]

\label{eq51}\left[ 
\begin{array}{ccc}
{{{m_{p}}^{2}}\ {{m_{q}}^{2}}\ {{��_{pq}}^{4}}}&{{{m_{p}}^{2}}\ {m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {{��_{pr}}^{2}}}&{{{m_{p}}^{2}}\ {{m_{q}}^{2}}\ {{��_{pq}}^{2}}}
\
{{{m_{p}}^{2}}\ {m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {{��_{pr}}^{2}}}&{{{m_{p}}^{2}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{4}}}&{{{m_{p}}^{2}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}
\
{{{m_{p}}^{2}}\ {{m_{q}}^{2}}\ {{��_{pq}}^{2}}}&{{{m_{p}}^{2}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{{m_{p}}^{2}}\ {{m_{q}}^{2}}\ {{��_{pq}}^{4}}}
(51)
Type: MATRIX(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
matrix [[trace(i*j) for j in [AB.4,AB.5,AB.6]] for i in [AB.7,AB.8,AB.9]]

\label{eq52}\left[ 
\begin{array}{ccc}
{{m_{p}}\ {{m_{q}}^{2}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{m_{p}}\ {m_{q}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}\ {{��_{qr}}^{2}}}&{{m_{p}}\ {{m_{q}}^{2}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {{��_{qr}}^{2}}}
\
{{{m_{p}}^{2}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{{m_{p}}^{2}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}}&{{{m_{p}}^{2}}\ {m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {{��_{pr}}^{2}}}
\
{{m_{p}}\ {{m_{q}}^{2}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {{��_{qr}}^{2}}}&{{m_{p}}\ {m_{q}}\ {{m_{r}}^{2}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{m_{p}}\ {{m_{q}}^{2}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}
(52)
Type: MATRIX(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
matrix [[trace(i*j) for j in [AB.7,AB.8,AB.9]] for i in [AB.1,AB.2,AB.3]]

\label{eq53}\left[ 
\begin{array}{ccc}
{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{{m_{p}}^{2}}\ {m_{r}}\ {{��_{pr}}^{2}}}&{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}
\
{{{m_{q}}^{2}}\ {m_{r}}\ {{��_{qr}}^{2}}}&{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{{m_{q}}^{2}}\ {m_{r}}\ {{��_{qr}}^{2}}}
\
{{m_{q}}\ {{m_{r}}^{2}}\ {{��_{qr}}^{2}}}&{{m_{p}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}}&{{m_{q}}\ {{m_{r}}^{2}}\ {{��_{qr}}^{2}}}
(53)
Type: MATRIX(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
matrix [[trace(i*j) for j in [AB.7,AB.8,AB.9]] for i in [AB.4,AB.5,AB.6]]

\label{eq54}\left[ 
\begin{array}{ccc}
{{m_{p}}\ {{m_{q}}^{2}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{{m_{p}}^{2}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{m_{p}}\ {{m_{q}}^{2}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {{��_{qr}}^{2}}}
\
{{m_{p}}\ {m_{q}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}\ {{��_{qr}}^{2}}}&{{{m_{p}}^{2}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}}&{{m_{p}}\ {m_{q}}\ {{m_{r}}^{2}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}
\
{{m_{p}}\ {{m_{q}}^{2}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {{��_{qr}}^{2}}}&{{{m_{p}}^{2}}\ {m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {{��_{pr}}^{2}}}&{{m_{p}}\ {{m_{q}}^{2}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}
(54)
Type: MATRIX(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
matrix [[trace(i*j) for j in [AB.7,AB.8,AB.9]] for i in [AB.7,AB.8,AB.9]]

\label{eq55}\left[ 
\begin{array}{ccc}
{{{m_{q}}^{2}}\ {{m_{r}}^{2}}\ {{��_{qr}}^{4}}}&{{m_{p}}\ {m_{q}}\ {{m_{r}}^{2}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{{m_{q}}^{2}}\ {{m_{r}}^{2}}\ {{��_{qr}}^{2}}}
\
{{m_{p}}\ {m_{q}}\ {{m_{r}}^{2}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{{m_{p}}^{2}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{4}}}&{{m_{p}}\ {m_{q}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}\ {{��_{qr}}^{2}}}
\
{{{m_{q}}^{2}}\ {{m_{r}}^{2}}\ {{��_{qr}}^{2}}}&{{m_{p}}\ {m_{q}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}\ {{��_{qr}}^{2}}}&{{{m_{q}}^{2}}\ {{m_{r}}^{2}}\ {{��_{qr}}^{4}}}
(55)
Type: MATRIX(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))

Center

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

\label{eq56}1(56)
Type: PI
fricas
c:=C(1)

\label{eq57}\begin{array}{@{}l}
\displaystyle
rq +{{{{{m_{q}}\ {��_{pq}}\ {{��_{qr}}^{2}}}-{{m_{q}}\ {��_{pr}}\ {��_{qr}}}}\over{{{m_{p}}\ {��_{pq}}\ {{��_{pr}}^{2}}}-{{m_{p}}\ {��_{pr}}\ {��_{qr}}}}}\  rp}+ qr + 
\
\
\displaystyle
{{{-{{m_{r}}\ {��_{pq}}\ {��_{qr}}}+{{m_{r}}\ {��_{pr}}\ {{��_{qr}}^{2}}}}\over{{{m_{p}}\ {{��_{pq}}^{2}}\ {��_{pr}}}-{{m_{p}}\ {��_{pq}}\ {��_{qr}}}}}\  qp}+{{{{{m_{q}}\ {��_{pq}}\ {{��_{qr}}^{2}}}-{{m_{q}}\ {��_{pr}}\ {��_{qr}}}}\over{{{m_{p}}\ {��_{pq}}\ {{��_{pr}}^{2}}}-{{m_{p}}\ {��_{pr}}\ {��_{qr}}}}}\  pr}+ 
\
\
\displaystyle
{{{-{{m_{r}}\ {��_{pq}}\ {��_{qr}}}+{{m_{r}}\ {��_{pr}}\ {{��_{qr}}^{2}}}}\over{{{m_{p}}\ {{��_{pq}}^{2}}\ {��_{pr}}}-{{m_{p}}\ {��_{pq}}\ {��_{qr}}}}}\  pq}+{{{-{{m_{q}}\ {{��_{pq}}^{2}}\ {��_{qr}}}+{{m_{q}}\ {��_{qr}}}}\over{{{��_{pq}}\ {��_{pr}}}-{��_{qr}}}}\  r}+ 
\
\
\displaystyle
{{{-{{m_{r}}\ {{��_{pr}}^{2}}\ {��_{qr}}}+{{m_{r}}\ {��_{qr}}}}\over{{{��_{pq}}\ {��_{pr}}}-{��_{qr}}}}\  q}+{{{-{{m_{q}}\ {m_{r}}\ {{��_{qr}}^{3}}}+{{m_{q}}\ {m_{r}}\ {��_{qr}}}}\over{{{m_{p}}\ {��_{pq}}\ {��_{pr}}}-{{m_{p}}\ {��_{qr}}}}}\  p}
(57)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
[c*i-i*c for i in AB]

\label{eq58}\left[ 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0 \right](58)
Type: LIST(ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX]))
fricas
test(c*c=c)

\label{eq59} \mbox{\rm false} (59)
Type: BOOLEAN

Unit

fricas
rightTrace(c)

\label{eq60}{\left(
\begin{array}{@{}l}
\displaystyle
-{9 \ {m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {��_{qr}}}+{{18}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {{��_{qr}}^{2}}}- 
\
\
\displaystyle
{9 \ {m_{q}}\ {m_{r}}\ {{��_{pr}}^{2}}\ {��_{qr}}}-{9 \ {m_{q}}\ {m_{r}}\ {{��_{qr}}^{3}}}+{9 \ {m_{q}}\ {m_{r}}\ {��_{qr}}}
(60)
Type: FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
n := #basis / rightTrace(c) * c

\label{eq61}\begin{array}{@{}l}
\displaystyle
{{{-{{��_{pq}}\ {��_{pr}}}+{��_{qr}}}\over{\left(
\begin{array}{@{}l}
\displaystyle
{{m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {��_{qr}}}-{2 \ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {{��_{qr}}^{2}}}+ 
\
\
\displaystyle
{{m_{q}}\ {m_{r}}\ {{��_{pr}}^{2}}\ {��_{qr}}}+{{m_{q}}\ {m_{r}}\ {{��_{qr}}^{3}}}-{{m_{q}}\ {m_{r}}\ {��_{qr}}}
(61)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
trace(n)

\label{eq62}3(62)
Type: FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
test(n*n=n)

\label{eq63} \mbox{\rm true} (63)
Type: BOOLEAN
fricas
[n*i-i for i in AB]

\label{eq64}\left[ 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0 \right](64)
Type: LIST(ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX]))
fricas
[i*n-i for i in AB]

\label{eq65}\left[ 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0 \right](65)
Type: LIST(ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX]))

fricas
test(n=unit()$A)

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

\label{eq67}{{��_{pq}}^{2}}-{2 \ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}+{{��_{pr}}^{2}}+{{��_{qr}}^{2}}- 1(67)
Type: DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)
fricas
--ff:= matrix [[γ(i,j)::R for j in gens] for i in gens]
ff:= matrix [[eval(γ(i,j)::R,[γ(gens(1),gens(1))=1,γ(gens(2),gens(2))=1,γ(gens(3),gens(3))=1,γ(gens(2),gens(1))=γ(gens(1),gens(2)),γ(gens(3),gens(2))=γ(gens(2),gens(3)),γ(gens(3),gens(1))=γ(gens(1),gens(3))]) for j in gens] for i in gens]

\label{eq68}\left[ 
\begin{array}{ccc}
1 &{��_{pq}}&{��_{pr}}
\
{��_{pq}}& 1 &{��_{qr}}
\
{��_{pr}}&{��_{qr}}& 1 
(68)
Type: MATRIX(FRAC(POLY(INT)))
fricas
--ff:= matrix [[eval(γ(i,j)::R,[γ(gens(1),gens(1))=0,γ(gens(2),gens(2))=0,γ(gens(3),gens(3))=0,γ(gens(2),gens(1))=γ(gens(1),gens(2)),γ(gens(3),gens(2))=γ(gens(2),gens(3)),γ(gens(3),gens(1))=γ(gens(1),gens(3))]) for j in gens] for i in gens]
-determinant(ff)

\label{eq69}{{��_{qr}}^{2}}-{2 \ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}+{{��_{pr}}^{2}}+{{��_{pq}}^{2}}- 1(69)
Type: FRAC(POLY(INT))
fricas
test(f = %)

\label{eq70} \mbox{\rm true} (70)
Type: BOOLEAN
fricas
(f*n)::OutputForm / f::OutputForm

\label{eq71}{\left(
\begin{array}{@{}l}
\displaystyle
{{{-{{��_{pq}}\ {��_{pr}}}+{��_{qr}}}\over{{m_{q}}\ {m_{r}}\ {��_{qr}}}}\  rq}+{{{-{{��_{pq}}\ {��_{qr}}}+{��_{pr}}}\over{{m_{p}}\ {m_{r}}\ {��_{pr}}}}\  rp}+ 
\
\
\displaystyle
{{{-{{��_{pq}}\ {��_{pr}}}+{��_{qr}}}\over{{m_{q}}\ {m_{r}}\ {��_{qr}}}}\  qr}+{{{{��_{pq}}-{{��_{pr}}\ {��_{qr}}}}\over{{m_{p}}\ {m_{q}}\ {��_{pq}}}}\  qp}+{{{-{{��_{pq}}\ {��_{qr}}}+{��_{pr}}}\over{{m_{p}}\ {m_{r}}\ {��_{pr}}}}\  pr}+ 
\
\
\displaystyle
{{{{��_{pq}}-{{��_{pr}}\ {��_{qr}}}}\over{{m_{p}}\ {m_{q}}\ {��_{pq}}}}\  pq}+{{{{{��_{pq}}^{2}}- 1}\over{m_{r}}}\  r}+{{{{{��_{pr}}^{2}}- 1}\over{m_{q}}}\  q}+{{{{{��_{qr}}^{2}}- 1}\over{m_{p}}}\  p}
(71)
Type: OUTFORM

Orthogonal Observers

fricas
p' := n - (1/trace(p))*p

\label{eq72}\begin{array}{@{}l}
\displaystyle
{{{-{{��_{pq}}\ {��_{pr}}}+{��_{qr}}}\over{\left(
\begin{array}{@{}l}
\displaystyle
{{m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {��_{qr}}}-{2 \ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {{��_{qr}}^{2}}}+ 
\
\
\displaystyle
{{m_{q}}\ {m_{r}}\ {{��_{pr}}^{2}}\ {��_{qr}}}+{{m_{q}}\ {m_{r}}\ {{��_{qr}}^{3}}}-{{m_{q}}\ {m_{r}}\ {��_{qr}}}
(72)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
trace(p')

\label{eq73}2(73)
Type: FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
p*p'

\label{eq74}0(74)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
test(p'*p=p*p')

\label{eq75} \mbox{\rm true} (75)
Type: BOOLEAN
fricas
p'*p' - p'

\label{eq76}0(76)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
f*p'

\label{eq77}\begin{array}{@{}l}
\displaystyle
{{{-{{��_{pq}}\ {��_{pr}}}+{��_{qr}}}\over{{m_{q}}\ {m_{r}}\ {��_{qr}}}}\  rq}+{{{-{{��_{pq}}\ {��_{qr}}}+{��_{pr}}}\over{{m_{p}}\ {m_{r}}\ {��_{pr}}}}\  rp}+{{{-{{��_{pq}}\ {��_{pr}}}+{��_{qr}}}\over{{m_{q}}\ {m_{r}}\ {��_{qr}}}}\  qr}+ 
\
\
\displaystyle
{{{{��_{pq}}-{{��_{pr}}\ {��_{qr}}}}\over{{m_{p}}\ {m_{q}}\ {��_{pq}}}}\  qp}+{{{-{{��_{pq}}\ {��_{qr}}}+{��_{pr}}}\over{{m_{p}}\ {m_{r}}\ {��_{pr}}}}\  pr}+{{{{��_{pq}}-{{��_{pr}}\ {��_{qr}}}}\over{{m_{p}}\ {m_{q}}\ {��_{pq}}}}\  pq}+ 
\
\
\displaystyle
{{{{{��_{pq}}^{2}}- 1}\over{m_{r}}}\  r}+{{{{{��_{pr}}^{2}}- 1}\over{m_{q}}}\  q}+{{{-{{��_{pq}}^{2}}+{2 \ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}-{{��_{pr}}^{2}}}\over{m_{p}}}\  p}
(77)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])

Lie Bracket

fricas
pq:=p*q-q*p

\label{eq78}- qp + pq(78)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
trace(pq)

\label{eq79}0(79)
Type: FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
pqr:=pq*r

\label{eq80}-{{{{m_{p}}\ {��_{pq}}\ {��_{pr}}}\over{��_{qr}}}\  qr}+{{{{m_{q}}\ {��_{pq}}\ {��_{qr}}}\over{��_{pr}}}\  pr}(80)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
trace(pqr)

\label{eq81}0(81)
Type: FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
pqr*pqr

\label{eq82}0(82)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
q' := n - (1/trace(q))*q

\label{eq83}\begin{array}{@{}l}
\displaystyle
{{{-{{��_{pq}}\ {��_{pr}}}+{��_{qr}}}\over{\left(
\begin{array}{@{}l}
\displaystyle
{{m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {��_{qr}}}-{2 \ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {{��_{qr}}^{2}}}+ 
\
\
\displaystyle
{{m_{q}}\ {m_{r}}\ {{��_{pr}}^{2}}\ {��_{qr}}}+{{m_{q}}\ {m_{r}}\ {{��_{qr}}^{3}}}-{{m_{q}}\ {m_{r}}\ {��_{qr}}}
(83)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
p'q' := p'*q' - q'*p'

\label{eq84}-{{1 \over{{m_{p}}\ {m_{q}}}}\  qp}+{{1 \over{{m_{p}}\ {m_{q}}}}\  pq}(84)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
trace(p'q')

\label{eq85}0(85)
Type: FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
p'q'r:=p'q'*r

\label{eq86}-{{{{��_{pq}}\ {��_{pr}}}\over{{m_{q}}\ {��_{qr}}}}\  qr}+{{{{��_{pq}}\ {��_{qr}}}\over{{m_{p}}\ {��_{pr}}}}\  pr}(86)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
trace(p'q'r)

\label{eq87}0(87)
Type: FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
p'q'r * p'q'r

\label{eq88}0(88)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
p'q'r * pqr

\label{eq89}0(89)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
pq' := p*q' - q'*p

\label{eq90}{{1 \over{m_{q}}}\  qp}-{{1 \over{m_{q}}}\  pq}(90)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
trace(pq')

\label{eq91}0(91)
Type: FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
pq'r:=pq'*r

\label{eq92}{{{{m_{p}}\ {��_{pq}}\ {��_{pr}}}\over{{m_{q}}\ {��_{qr}}}}\  qr}-{{{{��_{pq}}\ {��_{qr}}}\over{��_{pr}}}\  pr}(92)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
pq'r * pq'r

\label{eq93}0(93)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
p'q := p'*q - q*p'

\label{eq94}{{1 \over{m_{p}}}\  qp}-{{1 \over{m_{p}}}\  pq}(94)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
trace(p'q)

\label{eq95}0(95)
Type: FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
p'qr:=p'q*r

\label{eq96}{{{{��_{pq}}\ {��_{pr}}}\over{��_{qr}}}\  qr}-{{{{m_{q}}\ {��_{pq}}\ {��_{qr}}}\over{{m_{p}}\ {��_{pr}}}}\  pr}(96)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
p'qr*p'qr

\label{eq97}0(97)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])

Momentum

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

\label{eq98}\begin{array}{@{}l}
\displaystyle
{{1 \over{��_{qr}}}\  rq}+{{1 \over{��_{pr}}}\  rp}+{{1 \over{��_{qr}}}\  qr}+{{1 \over{��_{pq}}}\  qp}+{{1 \over{��_{pr}}}\  pr}+{{1 \over{��_{pq}}}\  pq}+{{m_{r}}\  r}+ 
\
\
\displaystyle
{{m_{q}}\  q}+{{m_{p}}\  p}
(98)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
M2:=trace(P)

\label{eq99}{{m_{p}}^{2}}+{2 \ {m_{p}}\ {m_{q}}\ {��_{pq}}}+{2 \ {m_{p}}\ {m_{r}}\ {��_{pr}}}+{{m_{q}}^{2}}+{2 \ {m_{q}}\ {m_{r}}\ {��_{qr}}}+{{m_{r}}^{2}}(99)
Type: FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
P*P-trace(P)*P

\label{eq100}0(100)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])

fricas
P' := n - (1/trace(P))*P;
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
trace(P')

\label{eq101}2(101)
Type: FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
P'*P' - P'

\label{eq102}0(102)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
P*P'

\label{eq103}0(103)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
fP':=gcd map(x+->denom x,coordinates(P'))

\label{eq104}\begin{array}{@{}l}
\displaystyle
{{{m_{p}}^{2}}\ {{��_{pq}}^{2}}}-{2 \ {{m_{p}}^{2}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}+{{{m_{p}}^{2}}\ {{��_{pr}}^{2}}}+{{{m_{p}}^{2}}\ {{��_{qr}}^{2}}}-{{m_{p}}^{2}}+ 
\
\
\displaystyle
{2 \ {m_{p}}\ {m_{q}}\ {{��_{pq}}^{3}}}-{4 \ {m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}\ {��_{pr}}\ {��_{qr}}}+{2 \ {m_{p}}\ {m_{q}}\ {��_{pq}}\ {{��_{pr}}^{2}}}+ 
\
\
\displaystyle
{2 \ {m_{p}}\ {m_{q}}\ {��_{pq}}\ {{��_{qr}}^{2}}}-{2 \ {m_{p}}\ {m_{q}}\ {��_{pq}}}+{2 \ {m_{p}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {��_{pr}}}- 
\
\
\displaystyle
{4 \ {m_{p}}\ {m_{r}}\ {��_{pq}}\ {{��_{pr}}^{2}}\ {��_{qr}}}+{2 \ {m_{p}}\ {m_{r}}\ {{��_{pr}}^{3}}}+{2 \ {m_{p}}\ {m_{r}}\ {��_{pr}}\ {{��_{qr}}^{2}}}- 
\
\
\displaystyle
{2 \ {m_{p}}\ {m_{r}}\ {��_{pr}}}+{{{m_{q}}^{2}}\ {{��_{pq}}^{2}}}-{2 \ {{m_{q}}^{2}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}+{{{m_{q}}^{2}}\ {{��_{pr}}^{2}}}+ 
\
\
\displaystyle
{{{m_{q}}^{2}}\ {{��_{qr}}^{2}}}-{{m_{q}}^{2}}+{2 \ {m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {��_{qr}}}-{4 \ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {{��_{qr}}^{2}}}+ 
\
\
\displaystyle
{2 \ {m_{q}}\ {m_{r}}\ {{��_{pr}}^{2}}\ {��_{qr}}}+{2 \ {m_{q}}\ {m_{r}}\ {{��_{qr}}^{3}}}-{2 \ {m_{q}}\ {m_{r}}\ {��_{qr}}}+{{{m_{r}}^{2}}\ {{��_{pq}}^{2}}}- 
\
\
\displaystyle
{2 \ {{m_{r}}^{2}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}+{{{m_{r}}^{2}}\ {{��_{pr}}^{2}}}+{{{m_{r}}^{2}}\ {{��_{qr}}^{2}}}-{{m_{r}}^{2}}
(104)
Type: DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)
fricas
factor(fP')

\label{eq105}{\left({
\begin{array}{@{}l}
\displaystyle
{{��_{pq}}^{2}}-{2 \ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}+ 
\
\
\displaystyle
{{��_{pr}}^{2}}+{{��_{qr}}^{2}}- 1 
(105)
Type: FR(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
test(fP'=f*M2)

\label{eq106} \mbox{\rm true} (106)
Type: BOOLEAN
fricas
fP' * P'

\label{eq107}\begin{array}{@{}l}
\displaystyle
{{{\left(
\begin{array}{@{}l}
\displaystyle
-{{{m_{p}}^{2}}\ {��_{pq}}\ {��_{pr}}}+{{{m_{p}}^{2}}\ {��_{qr}}}-{2 \ {m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}\ {��_{pr}}}+ \
\
\displaystyle
{2 \ {m_{p}}\ {m_{q}}\ {��_{pq}}\ {��_{qr}}}-{2 \ {m_{p}}\ {m_{r}}\ {��_{pq}}\ {{��_{pr}}^{2}}}+ 
\
\
\displaystyle
{2 \ {m_{p}}\ {m_{r}}\ {��_{pr}}\ {��_{qr}}}-{{{m_{q}}^{2}}\ {��_{pq}}\ {��_{pr}}}+{{{m_{q}}^{2}}\ {��_{qr}}}- 
\
\
\displaystyle
{{m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}}-{{m_{q}}\ {m_{r}}\ {{��_{pr}}^{2}}}+{{m_{q}}\ {m_{r}}\ {{��_{qr}}^{2}}}+{{m_{q}}\ {m_{r}}}- 
\
\
\displaystyle
{{{m_{r}}^{2}}\ {��_{pq}}\ {��_{pr}}}+{{{m_{r}}^{2}}\ {��_{qr}}}
(107)
Type: ALGSC(FRAC(DMP([*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])